EXCEL表格如何通过多个因素输出几个条件的结果?

如图,在已知条件为品种、规格、发货时间的前提下,求发货客户,但因为发货客户可能会是同时满足几个,所以希望在一个单元格里面输出所有(如图N列),请问有没有简单的公式/函数解决。麻烦按图2解答吧,图1的公式会误以为是单元格,谢谢

可以使用Excel的高级筛选功能来通过多个因素输出符合条件的结果。具体步骤如下:

    确认要筛选的数据表格中包含列标题,并将数据表格和筛选条件表格分别放在不同的工作表中。

    在数据表格中,选择需要筛选的列,并转到“数据”选项卡,点击“筛选”下拉菜单,选择“高级筛选”。

    在弹出的“高级筛选”对话框中,选择“列表区域”并输入需要筛选的数据表格的范围,然后选择“条件区域”并输入筛选条件表格的范围。

    在条件区域中,每一行代表一个条件,需要在每一行中输入需要筛选的列名、运算符和筛选条件。例如,如果需要筛选“销售额”大于1000且“地区”为“华东”的数据,可以在条件区域中输入“销售额”、“>”、“1000”和“地区”、“=”、“华东”。

    点击“确定”按钮,Excel会将符合条件的数据筛选出来,并显示在新的工作表中。

    需要注意的是,高级筛选功能只能筛选出符合所有条件的数据,无法同时筛选出符合任意条件的数据。如果需要同时筛选出符合任意条件的数据,可以使用Excel的筛选功能或者添加条件列来实现。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-07
你可以使用“文本合并”函数(CONCATENATE)和“IF”函数来实现你的目的。具体步骤如下:
在新表中创建列,列标题为“发货客户(输出内容为文字)”,用于输出符合条件的客户名称。
在第一行的第一个单元格中输入以下公式:
=IF(AND(D2="A1",G2="B1",H2="2022.1.1"),CONCATENATE(C2,", "), "")
其中,D2代表“品种”列中的第二个单元格,G2代表“规格”列中的第二个单元格,H2代表“发货时间”列中的第二个单元格,C2代表“发货客户”列中的第二个单元格。如果这些条件都满足,则输出该客户名称,否则输出空格。
将公式拖动到所有行中,以应用到整个表格。
对于一个单元格内需要输出多个客户名称的情况,可以使用“文本合并”函数,将多个符合条件的客户名称合并到一个单元格中。例如,在第三行的第一个单元格中输入以下公式:
=IF(AND(D3="Al",G3="B1",H3="2022.1.2"),CONCATENATE(C3,", ",C5), "")
其中,C5代表第五行的“发货客户”列中的单元格。如果第三行和第五行的条件都满足,则将这两个客户名称合并到一个单元格中,否则输出空格。
将公式拖动到所有行中,以应用到整个表格。
注意:在使用“文本合并”函数时,需要在每个客户名称之间添加逗号和空格,以便于区分不同的客户名称。如果不需要逗号和空格,则可以将公式中的“, "替换为“”(空格)。追问

大概懂,是要另外新建一个表吗?但貌似按照你的输出不了,是单元格错误的问题?能不能做一个动图或者图片展示一下?

大概懂,是要另外新建一个表吗?但貌似按照你的输出不了,是单元格错误的问题?能不能做一个动图或者图片展示一下?

追答

不好意思,我只能帮你到这里了

第2个回答  2023-03-07

您可以使用 Excel 的函数来根据多个因素输出满足条件的结果。以下是几种常用的函数:

    IF 函数

    IF 函数可以根据一个条件输出不同的结果。例如,假设您要根据 A1 和 B1 两个单元格的值来判断 C1 的值,可以使用以下公式:

    =IF(AND(A1>10,B1<20),"满足条件","不满足条件")

    这个公式的意思是,如果 A1 的值大于 10 并且 B1 的值小于 20,则 C1 的值为“满足条件”,否则为“不满足条件”。

    SUMIFS 函数

    SUMIFS 函数可以根据多个条件来求和。例如,假设您要根据 A 列和 B 列的值来计算 C 列的总和,可以使用以下公式:

    =SUMIFS(C:C,A:A,">10",B:B,"<20")

    这个公式的意思是,计算 C 列中满足 A 列的值大于 10 并且 B 列的值小于 20 的单元格的总和。

    COUNTIFS 函数

    COUNTIFS 函数可以根据多个条件来计算符合条件的单元格数量。例如,假设您要根据 A 列和 B 列的值来计算符合条件的单元格数量,可以使用以下公式:

    =COUNTIFS(A:A,">10",B:B,"<20")

    这个公式的意思是,计算 A 列中的值大于 10 并且 B 列的值小于 20 的单元格的数量。

    以上是几种常用的函数,您可以根据具体的需求选择合适的函数来实现您的目标。

第3个回答  2023-03-07
EXCEL表格可以使用函数IF、IFS、SUMIFS或者VLOOKUP等函数来解决此类问题,这些函数可以根据多个因素来查找与这些因素相符合的结果并输出结果。
第4个回答  2024-05-24
在Excel中,要基于多个条件(如品种、规格、发货时间)来输出所有匹配的发货客户,并且这些发货客户可能同时满足条件而需要合并到一个单元格中,你可以使用数组公式或者结合其他函数(如TEXTJOIN)来实现。但请注意,标准的Excel函数并没有直接提供基于多个条件合并多个结果的功能,因此我们需要一些创造性的方法。
以下是一个基于你提供的图2的示例步骤,使用TEXTJOIN函数结合IF和MATCH函数(或INDEX和MATCH组合)的近似方法来实现:
设置辅助列:首先,你可能需要添加一些辅助列来帮助识别哪些行符合你的条件。例如,你可以在表格旁边添加一列,并使用IF函数结合AND函数来检查每个行是否满足所有条件。如果满足,该列可以显示TRUE,否则显示FALSE。 例如,在G列(假设从G2开始),你可以使用以下公式(假设品种在A列,规格在B列,发货时间在C列,发货客户在D列):
excel
=AND(A2=$F$1, B2=$F$2, C2=$F$3)
这里$F$1、$F$2和$F$3分别是你要搜索的品种、规格和发货时间的单元格引用。
使用TEXTJOIN函数:接下来,在N列(假设从N2开始),你可以使用TEXTJOIN函数来合并所有满足条件的发货客户。但是,由于TEXTJOIN函数本身不直接支持基于条件的合并,你需要结合IF函数和数组公式(在Excel 365或Excel 2019中可以直接使用动态数组,而在旧版Excel中需要使用Ctrl+Shift+Enter来输入数组公式)。 以下是一个基于数组公式的示例,但请注意这可能需要根据你的具体需求进行调整:
excel
=TEXTJOIN(", ", TRUE, IF($G$2:$G$n, $D$2:$D$n, ""))
这里$G$2:$G$n是辅助列的范围,$D$2:$D$n是发货客户的范围。TEXTJOIN函数的第一个参数是分隔符(这里使用逗号和空格),第二个参数是TRUE(表示忽略空值),第三个参数是IF函数的结果数组。IF函数检查辅助列中的每个值,如果为TRUE,则返回对应的发货客户,否则返回空字符串。 在旧版Excel中,输入完公式后,不要直接按Enter键,而是按Ctrl+Shift+Enter来输入数组公式。在Excel 365或Excel 2019中,当你输入完公式并按Enter键时,Excel会自动识别并使用动态数组。
注意事项:
TEXTJOIN函数在旧版Excel中可能不可用,你可能需要根据你的Excel版本来选择适当的函数或方法。
数组公式在处理大量数据时可能会变得很慢,因此请确保你的数据集不是太大。
如果你使用的是旧版Excel并且无法使用TEXTJOIN函数,你可能需要考虑使用其他方法,如VBA宏或Power Query等更高级的工具。
请注意,由于我无法直接看到你的数据和完整的表格结构,上述步骤和公式可能需要根据你的具体情况进行调整。
相似回答