Sorting 求max&;按字母顺序排序时字符串的最小值

Sorting 求max&;按字母顺序排序时字符串的最小值,sorting,google-sheets,max,google-sheets-formula,array-formulas,Sorting,Google Sheets,Max,Google Sheets Formula,Array Formulas,如果我有一个类似“0401 a”、“0319 B”、“0801 C”的字符串列表,并且它们出现在excel工作表的不同列和行中,那么获取这些字符串的最大值和最小值的公式是什么。在这种情况下,如果按字母顺序排序,则max和min将分别为“0801 C”和“0319 B”。索引匹配似乎不起作用,因为字符串位于多个行和列中假设您的数据位于A5、B2和C3 在最大值结果F1中,输入公式: =INDEX(T(INDIRECT({"B2","C3","A5"})),MATCH(MAX(0+LEFT(T(IN

如果我有一个类似“0401 a”、“0319 B”、“0801 C”的字符串列表,并且它们出现在excel工作表的不同列和行中,那么获取这些字符串的最大值和最小值的公式是什么。在这种情况下,如果按字母顺序排序,则max和min将分别为“0801 C”和“0319 B”。索引匹配似乎不起作用,因为字符串位于多个行和列中

假设您的数据位于
A5
B2
C3

在最大值结果
F1
中,输入公式:

=INDEX(T(INDIRECT({"B2","C3","A5"})),MATCH(MAX(0+LEFT(T(INDIRECT({"B2","C3","A5"})),4)),0+LEFT(T(INDIRECT({"B2","C3","A5"})),4),0))
=INDEX(T(INDIRECT({"B2","C3","A5"})),MATCH(MIN(0+LEFT(T(INDIRECT({"B2","C3","A5"})),4)),0+LEFT(T(INDIRECT({"B2","C3","A5"})),4),0))
在最小值结果F2中输入公式:

=INDEX(T(INDIRECT({"B2","C3","A5"})),MATCH(MAX(0+LEFT(T(INDIRECT({"B2","C3","A5"})),4)),0+LEFT(T(INDIRECT({"B2","C3","A5"})),4),0))
=INDEX(T(INDIRECT({"B2","C3","A5"})),MATCH(MIN(0+LEFT(T(INDIRECT({"B2","C3","A5"})),4)),0+LEFT(T(INDIRECT({"B2","C3","A5"})),4),0))

您可以最大限度地使用此选项:

=SORTN(展平(A:C),1,0,1,False)
这是最低限度的:

=SORTN(展平(A:C),1,0,1,True)
我刚刚了解了
flatte
:它是Google Sheets中的本机功能,但没有文档记录,它可以将2D范围变成一列,非常有用。我最近从@MattKing这里来过


A:C
也可以对空单元格进行一点预过滤,过滤(A:C,(A:A“”)+(B:B“”)+(C:C“”)或其他内容。

如果每列只包含一个值:

=ARRAYFORMULA(SORTN(TRIM(TRANSPOSE(QUERY(TRANSPOSE(A:C);;9^9))); 1; 0; 1; 0))

=ARRAYFORMULA(SORTN(TRIM(TRANSPOSE(QUERY(TRANSPOSE(A:C);;9^9))); 1; 0; 1; 1))
如果每列中有多个值:

=ARRAYFORMULA(SORTN(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A:C="";;"♦"&A:C));;9^9));;9^9); "♦"))); 1; 0; 1; 0))

=ARRAYFORMULA(SORTN(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A:C="";;"♦"&A:C));;9^9));;9^9); "♦"))); 1; 0; 1; 1))

谢谢分享。你答案中的链接指向了这篇文章中的图片。你能指出你指的那个帖子吗?马特金修正了这个问题。再次感谢
Flatte
是我最近最喜欢的锤子。你和我将把它扔到全国各地。希望他们不会把它扔掉,我们最后会留下一大片破床单,谢谢。我很惊讶字符串的数值中没有像“MAX”这样的函数。我的值比3个单元格多得多。硬编码该位置不起作用