Google Sheets:基于多列整数重复列1内容的公式故障排查
在Google Sheets中根据多列整数值重复列1内容的解决方案
你的公式问题在于没有将每行的A列内容与对应行的B、C、D列重复次数关联,而是错误地将所有列的重复次数合并后统一应用,导致仅B列数值生效。以下是修正后的公式:
=FLATTEN(BYROW(A1:D4, LAMBDA(row, LET( target_val, INDEX(row, 1), repeat_counts, FILTER(INDEX(row, 2):INDEX(row, 4), INDEX(row, 2):INDEX(row, 4) > 0), IFERROR(TEXTJOIN("|",, REPT(target_val & "|", repeat_counts)), "") ) )))
公式逻辑说明:
BYROW(A1:D4, LAMBDA(row, ...)):逐行处理A1到D4的每一行数据LET(...):定义变量简化公式,target_val提取当前行的A列内容,repeat_counts筛选当前行B、C、D列中大于0的重复次数REPT(target_val & "|", repeat_counts):将目标值拼接分隔符后,按每个有效重复次数重复TEXTJOIN:将同一行内多个重复结果合并为字符串,FLATTEN最终将所有行的结果展开为单列,自动忽略无有效重复次数的行
如果需要严格过滤空值(比如某行没有大于0的重复次数时不生成内容),可以在外层套QUERY:
=QUERY(FLATTEN(BYROW(A1:D4, LAMBDA(row, LET( target_val, INDEX(row, 1), repeat_counts, FILTER(INDEX(row, 2):INDEX(row, 4), INDEX(row, 2):INDEX(row, 4) > 0), IFERROR(TEXTJOIN("|",, REPT(target_val & "|", repeat_counts)), "") ) ))), "WHERE Col1 IS NOT NULL")
内容的提问来源于stack exchange,提问作者SpecOpBookie
相关产品推荐
相关产品推荐

