【发布时间】:2026-02-02 17:25:01
【问题描述】:
考虑以下数据:
sheet1(客户)
A
0 customer_name
1 john
2 kevin
3 mickael
sheet2(产品)
A
0 product_name
1 book
2 ball
3 game
sheet3(订单)
A B
0 customer_name product_name
1 john book
2 john game
3 mickael ball
我想知道客户和产品的每个组合是否已订购订单并将其显示在 sheet1 中以获得类似的信息:
sheet1(客户已更新)
A B C D
0 customer_name book ball game
1 john 1 0 1
2 kevin 0 0 0
3 mickael 0 1 0
我知道如何使用“代码”来做到这一点(通过在 vba 中执行宏或在 c# 中执行将更新文件的小 exe),但我想通过在里面设置一个公式来做到这一点(如果可能的话)我的工作表(仅供参考,如果需要,我可以将 3 个输入放在同一个工作表中,这不是限制
更新:
根据前面的配置,我在 sheet1 B2 中放入了以下公式:=COUNTIFS(Sheet3!$A:$A;$A2;Sheet3!$B:$B;B$2),并且在运行公式时并将它扩展到我工作表中的每个单元格,我到处都可以得到#NAME 的值? (我已经从法语翻译了 if,所以我不确定它是否是正确的英文错误)。我认为我犯的错误是我没有使用 sheet2,我怎么能先说“做客户 insheet1 和 sheet2 中产品的所有可能组合,并在 sheet3 中查找这些组合,知道我在 sheet1 和我想像以前一样显示结果吗?
【问题讨论】:
-
如果您可以将 3 个输入放在同一张表中,请使用 COUNTIFS。
-
我必须为每个可能的组合添加一个公式,没有办法动态地制作一些东西来使客户和产品之间的所有组合成为可能?
-
使用绝对引用并引用客户名称列和产品名称行...
=COUNTIFS(Sheet2!$A:$A,$A1,Sheet2!$B:$B,B$1)。或者使用数据透视表。 -
能有更详细的答案吗?
-
你能试试那个公式吗?
标签: excel