excel - Excel 如何比较字符串?
问题描述
期望 Excel 按字典顺序运行,但似乎并非如此。
"1"<"-1" 评估为 TRUE,尽管 "-" 按字典顺序在 "1" 之前。
这也消除了 Excel 将两个字符串都作为数字进行比较的可能性。
或者,“1”<“-”评估 FALSE,“1”<“1”也评估 FALSE。
'-' 是 45 (ASCII)
'1' 是 49 (ASCII)
解决方案
这似乎是一个错误,或者至少是一个(未记录的?)功能
更多示例(红色表示意外结果)
注:
- 结果表明字符串长度在某些情况下很
10.00<-10.0
重要10.0<-10.0
- VBA 不表现出这种行为
如果你想尝试
一个 | 乙 | 代码(A) | 代码(B) | 甲<乙 | 左(A,1)<左(B,1) |
---|---|---|---|---|---|
'1 | '-1 | =代码(A2) | =代码(左(B2,1)) | =A2<B2 | =左(A2,1)<左(B2,1) |
'0 | '-1 | =代码(A3) | =代码(左(B3,1)) | =@A:A<@B:B | =左(A3,1)<左(B3,1) |
'2 | '-1 | =代码(A4) | =代码(左(B4,1)) | =@A:A<@B:B | =左(A4,1)<左(B4,1) |
'-2 | '-1 | =代码(A5) | =代码(左(B5,1)) | =@A:A<@B:B | =左(A5,1)<左(B5,1) |
'1 | '-2 | =代码(A7) | =代码(左(B7,1)) | =@A:A<@B:B | =左(A7,1)<左(B7,1) |
'0 | '-2 | =代码(A8) | =代码(左(B8,1)) | =@A:A<@B:B | =左(A8,1)<左(B8,1) |
'2 | '-2 | =代码(A9) | =代码(左(B9,1)) | =@A:A<@B:B | =左(A9,1)<左(B9,1) |
'-3 | '-2 | =代码(A10) | =代码(左(B10,1)) | =@A:A<@B:B | =左(A10,1)<左(B10,1) |
'1 | '- | =代码(A12) | =代码(左(B12,1)) | =@A:A<@B:B | =左(A12,1)<左(B12,1) |
'0 | '- | =代码(A13) | =代码(左(B13,1)) | =@A:A<@B:B | =左(A13,1)<左(B13,1) |
'2 | '- | =代码(A14) | =代码(左(B14,1)) | =@A:A<@B:B | =左(A14,1)<左(B14,1) |
'-3 | '- | =代码(A15) | =代码(左(B15,1)) | =@A:A<@B:B | =左(A15,1)<左(B15,1) |
'1 | '-88 | =代码(A17) | =代码(左(B17,1)) | =@A:A<@B:B | =左(A17,1)<左(B17,1) |
'1000 | '-88 | =代码(A18) | =代码(左(B18,1)) | =@A:A<@B:B | =左(A18,1)<左(B18,1) |
'9 | '-88 | =代码(A19) | =代码(左(B19,1)) | =@A:A<@B:B | =左(A19,1)<左(B19,1) |
'-9 | '-88 | =代码(A20) | =代码(左(B20,1)) | =@A:A<@B:B | =左(A20,1)<左(B20,1) |
'3.0 | '-4.0 | =代码(A22) | =代码(左(B22,1)) | =@A:A<@B:B | =左(A22,1)<左(B22,1) |
'5.0 | '-4.0 | =代码(A23) | =代码(左(B23,1)) | =@A:A<@B:B | =左(A23,1)<左(B23,1) |
'10.00 | '-10.0 | =代码(A24) | =代码(左(B24,1)) | =@A:A<@B:B | =左(A24,1)<左(B24,1) |
'10.0 | '-10.0 | =代码(A25) | =代码(左(B25,1)) | =@A:A<@B:B | =左(A25,1)<左(B25,1) |
'1.0 | '-1 | =代码(A27) | =代码(左(B27,1)) | =@A:A<@B:B | =左(A27,1)<左(B27,1) |
'0.0 | '-1 | =代码(A28) | =代码(左(B28,1)) | =@A:A<@B:B | =左(A28,1)<左(B28,1) |
'2.0 | '-1 | =代码(A29) | =代码(左(B29,1)) | =@A:A<@B:B | =左(A29,1)<左(B29,1) |
'-2.0 | '-1 | =代码(A30) | =代码(左(B30,1)) | =@A:A<@B:B | =左(A30,1)<左(B30,1) |
'1E+0 | '-1E+0 | =代码(A32) | =代码(左(B32,1)) | =@A:A<@B:B | =左(A32,1)<左(B32,1) |
'0E+0 | '-1E+0 | =代码(A33) | =代码(左(B33,1)) | =@A:A<@B:B | =左(A33,1)<左(B33,1) |
'2E+0 | '-1E+0 | =代码(A34) | =代码(左(B34,1)) | =@A:A<@B:B | =左(A34,1)<左(B34,1) |
'-2E+0 | '-1E+0 | =代码(A35) | =代码(左(B35,1)) | =@A:A<@B:B | =左(A35,1)<左(B35,1) |