使用 Google Sheets 公式从具有多种类型的未排序数据集中获取每种类型的 MIN 值
Get MIN value for each type from an unsorted dataset with multiple types using Google Sheets formula
在 col A 中,我混合了以数据类型标识符开头的数据,后跟一个值,所有数据都以分号分隔,例如
a_3;b_2;c_4;c_5;b_2;a_1;a_7;b_9
在列 B 中,我只列出了以下方式的数据类型标识符:
a;b;c
在 col C 中,我正在努力编写一个公式,该公式将 return col B 中每个相应数据类型的最小数值。
因此,按照上述,值是 a_3;a_1;a_7,因此 'a' 的最小值是“1”。同样,'b' 的最小值是“2”,'c' 的最小值是“4”。
Col C 中显示的 return 值将是:
1;2;4
我写了一个 ARRAYFORMULA
创建一个二维数组,它的第一行只包含 'a' 值,第二行只有 'b' 值,第三行有 'c'值。
例如
3 1 7
2 2 9
4 5
但我不知道如何将每个单独的行提供给 MIN
函数(它本身必须在某种数组公式中,一次一行地迭代上述数组).
也许这是一种有缺陷的方法,我需要以不同的方式考虑解决方案。
总结一下:
Col A Col B Col C
a_3;b_2;c_4;c_5;b_2;a_1;a_7;b_9 a;b;c 1;2;4
我需要公式来生成 Col C 中的结果。
示例如下 sheet:
https://docs.google.com/spreadsheets/d/1k1K7_msW8Jd_9-18zKdgdFKsSSYrRLtYjTLolQsAVjQ/edit#gid=0
=TEXTJOIN(";",1,ARRAYFORMULA(IFERROR(VLOOKUP(TRANSPOSE(SPLIT(B2,";")),
SORTN({REGEXEXTRACT(TRANSPOSE(SPLIT(A2,";")),"[A-Za-z]+"),
REGEXEXTRACT(TRANSPOSE(SPLIT(A2,";")),"\d+")},COUNTA(TRANSPOSE(SPLIT(A2,";")))),2,0),)))
在 col A 中,我混合了以数据类型标识符开头的数据,后跟一个值,所有数据都以分号分隔,例如
a_3;b_2;c_4;c_5;b_2;a_1;a_7;b_9
在列 B 中,我只列出了以下方式的数据类型标识符: a;b;c
在 col C 中,我正在努力编写一个公式,该公式将 return col B 中每个相应数据类型的最小数值。
因此,按照上述,值是 a_3;a_1;a_7,因此 'a' 的最小值是“1”。同样,'b' 的最小值是“2”,'c' 的最小值是“4”。
Col C 中显示的 return 值将是: 1;2;4
我写了一个 ARRAYFORMULA
创建一个二维数组,它的第一行只包含 'a' 值,第二行只有 'b' 值,第三行有 'c'值。
例如
3 1 7
2 2 9
4 5
但我不知道如何将每个单独的行提供给 MIN
函数(它本身必须在某种数组公式中,一次一行地迭代上述数组).
也许这是一种有缺陷的方法,我需要以不同的方式考虑解决方案。
总结一下:
Col A Col B Col C
a_3;b_2;c_4;c_5;b_2;a_1;a_7;b_9 a;b;c 1;2;4
我需要公式来生成 Col C 中的结果。
示例如下 sheet: https://docs.google.com/spreadsheets/d/1k1K7_msW8Jd_9-18zKdgdFKsSSYrRLtYjTLolQsAVjQ/edit#gid=0
=TEXTJOIN(";",1,ARRAYFORMULA(IFERROR(VLOOKUP(TRANSPOSE(SPLIT(B2,";")),
SORTN({REGEXEXTRACT(TRANSPOSE(SPLIT(A2,";")),"[A-Za-z]+"),
REGEXEXTRACT(TRANSPOSE(SPLIT(A2,";")),"\d+")},COUNTA(TRANSPOSE(SPLIT(A2,";")))),2,0),)))