这是针对下图中单元格 F2 所需的公式的参考。F2
显示结果我想:
我需要:Concat 公式用于将 B 列中的数据与 A 列中的每个变量连接起来。因此,如果我们知道X项目的版本(基于 C2 中的功能),然后连接需要加强X −1 次从 A 列绘制文本字符串。
想不出最好的方法!如果需要引用新函数,我也可以创建新函数(例如在 F 中聚合 CONCAT,因为我可以编写一个 IF 语句来查找“BASE”...)
- 我知道 C2 中的数字:它是 A 列中文本出现的次数
- 我知道 E2 中的数字:它是行号
- 我知道 D 的结果:如果这是 A 中的文本第一次出现,则为“Base”,否则为“Variant”
- 我知道 A 列中的文本始终是排序的
答案1
适应我的答案到有条件地跨行连接单元格内容,输入以下公式:
F2
→=IF(AND(A1<>A2,A2<>""), G2, "")
G2
→=IF(A2<>A3, B2, B2 & ", " & G3)
(假设您的数据从第 2 行开始,如问题所示)。如果您不想使用列 G
,则可以使用任何可用列(例如Z
或AG
)并相应地更改引用。向下拖动/填充以覆盖所有数据。
第二列中的公式(我假设它是 Column ) 从下往上 G
构建了 Column 中当前内容的逗号分隔大小列表 。更准确地说,单元格包含 Rows 的列表 A
Gn
n以及下面的内容。(现在看一下插图可能会对你有帮助。)上面写着,
- 如果下一行的 Column 值
A
与当前行的值不同 (A2<>A3
),则这是该值的最后一行,因此此行及下面的列表只是此行的值。 - 否则,这不是该值的最后一行,而这一行下面的行包含该行及以下行的列表。因此,我想从这一行中取出值并将其“添加到”下面一行的列表中。
然后,Column 中的公式 F
会在该事物的第一行显示该事物的完整列表,而其他行则显示空白。如果此行中的 Column A
值为空,则也显示空白。
G
一旦完成这项工作,您可能想要隐藏列 。
答案2
使用额外的列..然后隐藏它。(:
F2 ----> =IF(A2="","",IF(A1=A2,"",G3&", "&B2))
G2 ----> =IF(A2="","",IF(A2=A3,A2&", "&G3,B2))
并向下拖动...如果有效(或无效),请分享(: