在 Microsoft Excel 中,我将用户和产品数据存储在工作表中。我可以在此工作表中添加/删除新用户或新产品。
我有另一张表,它必须将所有产品放入每个用户。我需要一个公式来将它们放入其中,如下例所示:每次我添加/删除用户或产品时。
例子:
答案1
假设“USER 1”位于单元格 A2,将其放在 B2 中,然后向下拖动:
="PRODUCT "&COUNTIF($A$2:A2,A2)
想法:用移动 countif() 连接文本。
如果它有效/无效/可以理解,请分享。(:
================
经过评论和跟进,以下是修改后的解决方案。使用 OP 共享的示例文件,在输出表中,只需输入这些公式即可。
在单元格 A2 中:
=IF((ROW()-1)>((COUNTA(Input!B:B)-1)*(COUNTA(Input!A:A)-2)),"",INDEX(Input!A:A,1+ INT((ROW()-2)/(COUNTA(Input!B:B)-1))+2))
在单元格 B2 中:
=IF((ROW()-1)>((COUNTA(Input!B:B)-1)*(COUNTA(Input!A:A)-2)),"",INDEX(Input!B:B,COUNTIF($A$2:A2,A2)+2))
并向下拖动。
主意 :
计算输入表的 A 列和 B 列中有多少行不为空。
使用 row() 的数学运算和上述计数,将 A/B 列中的项目“加载”到输出表中
如果 row() 数超过(B 列中非空的行数)*(B 列中非空的行数),则停止输出
在公式中,它是...
-->
COUNTA(Input!B:B) & COUNTA(Input!A:A)
--->
INDEX(Input!B:B,COUNTIF($A$2:A2,A2)+2)
--->
IF((ROW()-1)>((COUNTA(Input!B:B)-1)*(COUNTA(Input!A:A)-2)),"", ... )
希望能帮助到你。 ( :