如何在Google Sheets中用公式将两列生成指定格式的单列?
Google Sheets 公式解决方案
场景1:已知有属性的行位置(如第2、3、5行)
直接用ARRAYFORMULA结合INDEX实现批量填充:
=ARRAYFORMULA(IF(ROW(A1:A5)={2,3,5}, INDEX(C:C, MATCH(ROW(A1:A5), {2,3,5}, 0)), "-"))
- 逻辑:遍历A1:A5的每一行,判断行号是否属于有属性的行列表,是则从C列提取对应位置的属性值,否则返回
-。
场景2:通过辅助列标记无属性行(如B列已标记“无属性”)
如果你的B列已经用“无属性”标记了对应行,用这个公式可自动匹配C列的属性值:
=ARRAYFORMULA(IF(B1:B5="无属性", "-", INDEX(C:C, SEQUENCE(COUNTIF(B1:B5, "<>无属性")))))
- 逻辑:
COUNTIF(B1:B5, "<>无属性")统计有属性的总行数(此处为3);SEQUENCE(3)生成1、2、3的序列,对应C列的第1到第3行;- 当B列不是“无属性”时,按顺序提取C列的属性值,否则返回
-。
场景3:基于Item名称匹配属性
如果需要通过A列的Item名称对应属性,用MATCH+INDEX组合:
=ARRAYFORMULA(IF(ISNUMBER(MATCH(A1:A5, {"Item 2","Item 3","Item 5"}, 0)), INDEX(C:C, MATCH(A1:A5, {"Item 2","Item 3","Item 5"}, 0)), "-"))
- 逻辑:判断A列的Item名称是否在有属性的列表中,是则从C列提取对应顺序的属性值,否则返回
-。
内容的提问来源于stack exchange,提问作者RextheJoker
相关产品推荐
相关产品推荐

