Vis*_*ish 1 excel vba excel-formula
我想从具有多个值的同一单元格中找到最右边数字的最大值和最小值,下面是数据的外观。这所有值都在同一个单元格中,例如:在单元格“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
Run Code Online (Sandbox Code Playgroud)
是否有任何excel公式或vba代码?
我已经尝试了一些如下的 excel 公式,但它没有按要求工作。
=MAX(RIGHT(A1,LEN(A1)-FIND("_",A1,SEARCH("_",A1)+1))
Run Code Online (Sandbox Code Playgroud)
以下代码不起作用的数据示例:
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
Run Code Online (Sandbox Code Playgroud)
下面是错误快照:
您需要在换行符处拆分字符串,然后找到第二个_并抓住它后面的所有内容。
=MAX(--MID(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",999)),(ROW($ZZ$1:INDEX($ZZ:$ZZ,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))-1)*999+1,999)),FIND("}}}",SUBSTITUTE(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",999)),(ROW($ZZ$1:INDEX($ZZ:$ZZ,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))-1)*999+1,999)),"_","}}}",2))+1,999))
Run Code Online (Sandbox Code Playgroud)
这是一个数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而不是 Enter 确认。如果正确完成,那么 Excel 将{}围绕公式。
对于最小值替换MAX为MIN
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |