我有一列包含不同的字母,每个字母都有相应的数字。 IE。 (F1、F2、F3) 表示“F”类别的三种产品,(G1、G2、G3) 表示“G”类别的产品。这些“产品 ID 都在同一列中。
现在,我想获取任何类别的最高值并将其返回(例如“F3”)在另一个单元格中,并且我想对所有类别执行相同的操作,以便每个类别都有自己的单元格返回该类别的最大值。
这是我的谷歌表格的链接:https://docs.google.com/spreadsheets/d/12WL-jD6jdVR0OmxUA0xxC5JeHnCaTWSxThRjMZg2Msk/edit?usp=sharing
我尝试将字符串和数字一起调用,但这不太正确,因为我仍然需要它给我最高的字符串/数字组合。
本质上,我想显示每个类别的最大数字和字符串,以便我可以不断记录每个类别的数字,以便当我添加新产品时,我可以立即为其分配下一个最大数字而不是滚动浏览我的整个库存列表,寻找尚未使用的编号。即,如果最大值显示“F37”,我知道下次购买 F 类别中的产品时,我知道将其分配为“F38”,而无需滚动整个列表
根据我对您发布的问题中的陈述的理解,我想出了这个解决方案。
我想显示每个类别的最大数字和字符串,以便我可以不断记录每个类别的数字,这样当我添加新产品时,我可以立即为其分配下一个最大数字,而不是滚动浏览我的整个库存列表,查找尚未使用的编号。
你可以试试这个公式:
=ARRAYFORMULA({
"F" & MAX(FILTER(VALUE(MID(A2:A, 2, LEN(A2:A)-1)), LEFT(A2:A, 1) = "F")),
"G" & MAX(FILTER(VALUE(MID(A2:A, 2, LEN(A2:A)-1)), LEFT(A2:A, 1) = "G")),
"E" & MAX(FILTER(VALUE(MID(A2:A, 2, LEN(A2:A)-1)), LEFT(A2:A, 1) = "E")),
"Y" & MAX(FILTER(VALUE(MID(A2:A, 2, LEN(A2:A)-1)), LEFT(A2:A, 1) = "Y"))
})
示例输出:
产品 ID |
---|
F15 |
F16 |
F17 |
G7 |
G4 |
G9 |
E4 |
E5 |
E8 |
Y9 |
20年 |
每个类别的最高ID
F | G | E | 是 |
---|---|---|---|
F17 | G9 | E8 | 20年 |
参考文献:
QUERY()
可能是一种方法。尝试-
=TRANSPOSE(QUERY({INDEX(IFNA(REGEXEXTRACT(Inventory[Product IDs],"[a-zA-Z]+"))),INDEX(IFNA(REGEXEXTRACT(Inventory[Product IDs],"[0-9]+")))},"select Col1, max(Col2) group by Col1 offset 1 label max(Col2) ''",0))
查看您的文件harun24hr表。
另一种拖放公式的方法。
=MAX(INDEX(--REGEXEXTRACT(QUERY(Inventory[Product IDs],"where Col1 contains '" & C2 & "'"),"[0-9]+")))
使用
MAP()
的动态溢出公式。
=MAP(C2:F2,LAMBDA(x,MAX(INDEX(--REGEXEXTRACT(QUERY(Inventory[Product IDs],"where Col1 contains '" & x & "'"),"[0-9]+")))))
结果:
F | G | E | 是 |
---|---|---|---|
17 | 9 | 8 | 20 |