我想从具有多个值的同一单元格中找到最右边的数字的最大值和最小值,以下是数据的外观。所有这些值都在同一个单元格中,例如:在单元格“ A1”中,我想提取最右边的数字,例如1.00,1.5,1.5,1.0,2.00,1.50,1.0,1.00,然后从中找到最大值和最小值。我当前正在使用Excel 2016版本。
BAEK1928_TXL_1.00
44444922_FLR2X-A_1.5
44447922_FL2X-B_1.5
44444922_FL2X-B_1.0
BAEK1928_TXL_2.00
44444922_FLR2X-B_1.50
44444922_FLR2X-A_1.0
44444922_FLRY-B_1.00
是否有任何Excel公式或VBA代码?
我已经尝试了以下一些excel公式,但是按要求无法正常工作。
=MAX(RIGHT(A1,LEN(A1)-FIND("_",A1,SEARCH("_",A1)+1))
下面的代码无法正常工作的数据示例:
KMO6722-1_THICK_0.50
MAEJ9120_GXL_0.50
BIN76822_FLRY-B_0.50
KMO6722-1_THIN_0.50
MAEJ9120_TXL_0.50
KL STLE 2987_0.5
MAEJ9120_SXL_0.50
DIN76722_FLRY-A_0.50
MAEJ9120_TXL_1.00
KMO6722-1_FLR2X-B_1.00
MAEJ9120_GXL_1.00
BIN76822_FL2X-B_1.0
MAEJ9120_GXL_0.50
MAEJ9120_GXL_0.80
BIN76822_FLR2X-A_1.0
BIN76822_FLRY-B_1.00
MAEJ9120_TXL_0.80
KMO6722-1_FLR2X-B
MIL-STD-104_PTFE_2.0
BIN76822 _THIN_1.00
BIN76822 _THIN_2.00
MIL-STD-104_PTFE_1.0
MAEJ9120_TXL_0.80
BIN76822_FLRY-B_1.50
BIN76822-1_FLR2X-B
MAEJ9120_TXL_1.00_Sn
PLAIN_EXRD_1.00
MAEJ9120_TXL_2.00_Sn
MAEJ9120_TXL_0.80_Sn
BIN76822_TXL_1.00
BIN76822_THIN_1.50
错误快照下方:
以下是基于VBA的功能。您需要在VBA中插入一个模块,然后粘贴以下代码。
Public Function GetMinMax(strInput As String, Optional varMode)
Dim strMode As String
If IsMissing(varMode) Then
strMode = "MAX"
Else
strMode = varMode
End If
Dim varInput
varInput = Split(strInput, Chr(10))
Dim varOut() As Double
Dim i As Long
ReDim varOut(UBound(varInput))
For i = LBound(varInput) To UBound(varInput)
varOut(i) = Split(varInput(i), "_")(2)
Next i
If strMode = "MAX" Then
GetMinMax = Application.Max(varOut)
Else
GetMinMax = Application.Min(varOut)
End If
End Function
要获得MAX,您可以使用:
=GetMinMax(A1)
要么 =GetMinMax(A1,"MAX")
对于MIN,您可以使用:
=GetMinMax(A1,"MIN")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句