求Google Sheets公式:为相同键值的行设置最短字符串值
Google Sheets 公式:为相同键值行匹配最短字符串值
假设你的键值列是A列,字符串列是B列,需要在C列返回对应键值下最短的字符串,可使用以下两种方案:
方法1:BYROW + LAMBDA(适合新版Google Sheets)
在C2单元格输入:
=BYROW(A2:A,LAMBDA(x,IF(x="","",INDEX(SORT(FILTER(B:B,A:A=x),LEN(FILTER(B:B,A:A=x))),1))))
公式说明:
BYROW(A2:A, LAMBDA(x, ...)):遍历A列每一行的键值xIF(x="","",...):跳过空键值行,返回空值FILTER(B:B,A:A=x):筛选出所有键值为x的B列字符串SORT(...,LEN(...)):按字符串长度升序排序,最短的字符串排在首位INDEX(...,1):提取排序后的第一个值,即该键值下的最短字符串
方法2:ARRAYFORMULA + VLOOKUP(兼容旧版Google Sheets)
在C2单元格输入:
=ARRAYFORMULA(IF(A2:A="","",VLOOKUP(A2:A,SORT({A2:A,B2:B},LEN(B2:B),TRUE),2,FALSE)))
公式说明:
SORT({A2:A,B2:B},LEN(B2:B),TRUE):将A、B列数据按B列字符串长度升序排序,确保同一键值下最短的字符串排在最前面VLOOKUP(A2:A,...):查找每个键值,返回排序后首个匹配的B列值,即对应最短字符串
内容的提问来源于stack exchange,提问作者JPashs
相关产品推荐
相关产品推荐

