Google Sheets中拼接稀疏矩阵正字段行列头生成国际化Locale列表
Google Sheets 动态生成国际化Locale列表方案
针对用稀疏矩阵维护各国支持语言的场景,以下是非一次性、可动态更新的公式方案,自动拼接有值单元格对应的「国家代码-语言代码」格式Locale:
核心公式(两种输出形式)
1. 拼接为逗号分隔的字符串
=TEXTJOIN(", ", TRUE, FILTER(FLATTEN(A2:A&"-"&B1:Z1), NOT(ISBLANK(FLATTEN(B2:Z)))))
2. 每行输出一个Locale(自动溢出)
=FILTER(FLATTEN(A2:A&"-"&B1:Z1), NOT(ISBLANK(FLATTEN(B2:Z))))
公式说明
FLATTEN(A2:A&"-"&B1:Z1):将所有国家代码与语言代码的组合展开为一维数组(比如US-en、DE-fr等)FILTER(..., NOT(ISBLANK(FLATTEN(B2:Z)))):仅保留对应数据单元格(稀疏矩阵的有值区域)的Locale组合TEXTJOIN(", ", TRUE, ...):将筛选后的Locale用「逗号+空格」拼接成字符串,TRUE参数自动忽略空白项
动态适配优化版(无需手动调整区域)
如果表格的国家/语言列行会动态增减,用以下公式自动适配范围:
=TEXTJOIN(", ", TRUE, FILTER(FLATTEN(A2:INDEX(A:A, COUNTA(A:A))&"-"&B1:INDEX(1:1, COUNTA(1:1))), NOT(ISBLANK(FLATTEN(B2:INDEX(B:ZZ, COUNTA(A:A), COUNTA(1:1)))))))
A2:INDEX(A:A, COUNTA(A:A)):动态获取A列所有非空的国家代码行B1:INDEX(1:1, COUNTA(1:1)):动态获取第一行所有非空的语言代码列B2:INDEX(B:ZZ, COUNTA(A:A), COUNTA(1:1)):动态匹配稀疏矩阵的数据区域
使用方式
直接将公式粘贴到任意空白单元格,当表格中新增/删除国家、语言,或修改单元格支持状态时,结果会自动同步更新。
内容的提问来源于stack exchange,提问作者SomeBdyElse
相关产品推荐
相关产品推荐

