我有以下类型的数据
A1 B1 C1 D1
II Cm2 447 I Phy Hn 60 II Cm2 457 I Phy Hn 70
II Cm2 448 I Phy Hn 61 II Cm2 458 I Phy Hn 71
II Cm2 449 I Phy Hn 62 II Cm2 459 I Phy Hn 72
II Cm2 450 I Phy Hn 63 II Cm2 460 I Phy Hn 73
II Cm2 451 I Phy Hn 64 II Cm2 461 I Phy Hn 74
II Cm2 452 I Phy Hn 65 II Cm2 462 I Phy Hn 75
II Cm2 453 I Phy Hn 66 II Cm2 463 I PHY ml 76
II Cm2 454 I Phy Hn 67 II Cm2 464 I PHY ml 77
II Cm2 455 I Phy Hn 68 II Cm2 465 I PHY ml 78
II Cm2 456 I Phy Hn 69 II Cm2 466 I PHY ml 79
需要找到对应于“ II Cm2 ”,“ I Phy Hn ”和“ I PHY ml ”的最小值和最大值
请帮助。
我正在寻找的解决方案
Grid Min Max
II Cm2 447 466
I Phy Hn 60 75
I Phy ml 76 79
编辑: 我已经尝试了几种可用的互联网选项,使用VLOOKUP,RIGHT,INDEX,......但是没有一个能给我预期的答案。我更喜欢不使用辅助列的解决方案。如果需要使用辅助列,请建议一个解决方案,而无需修改我的cols A:D。
对于Min,我有一个解决方案MIN(VLOOKUP(“II Cm2”,$ AE $ 4:$ AF $ 171,2,0),但它需要一个来自单列的提取数字的辅助列我的原始数据。
使用宏/脚本的解决方案也欢迎。
答案 0 :(得分:3)
如果您只需要从范围中提取最小/最大数字,请在单元格G2
中使用此公式,然后将其拖到您在范围F2:F5
中输入的值的底部。 =MIN(IF(ISNUMBER(SUBSTITUTE($A$2:$D$500,$F2,"")+0),SUBSTITUTE($A$2:$D$500,$F2,"")+0))
您必须使用CTRL+SHIFT+ENTER
组合输入它,因为它是数组公式。对于Max,只需在公式中替换Min。
答案 1 :(得分:0)
您可以阅读有关如何创建将一系列单元格作为参数here的公式的信息。
This是一种只返回字符串数字的方法。
这是一个function,在另一个字符串中向后查找一个字符串。
This告诉您将字符串更改为数字。
以下是一种可以将它们组合在一起以查找最大值的方法。值:
Function MaxValueOfRange(rng As Range) As Integer
Dim c As Range, strIn As String, intRet As Integer
For Each c In rng 'loop through each cell in range
strIn = Right(c, Len(c) - InStrRev(c, " ")) 'get everything after the last 'space'
Next
If Val(strRet) > intRet Then intRet = Val(strRet) 'convert it to number and keep the biggest one
MaxValueOfRange = intRet 'return the biggest number
End Function