4

Excelで不等演算子を使用してExcelが文字列を比較する方法について、誰かが参照を提供できますか? 予期しない動作がいくつか見つかりました。

以下の例では、最初の 2 列は文字列、列 C は式=A2<B2、3 番目の列は予想される動作、最後の列は予想される動作が実際の動作と一致するかどうかです。

Comparison  Benchmark   Is A < B?   Expected    Pass?
Q1 2009     Q4 2012       TRUE      TRUE        TRUE
Q2 2009     Q4 2012       TRUE      TRUE        TRUE
Q3 2009     Q4 2012       TRUE      TRUE        TRUE
Q4 2009     Q4 2012       TRUE      TRUE        TRUE
Q1 2010     Q4 2012       TRUE      TRUE        TRUE
Q2 2010     Q4 2012       TRUE      TRUE        TRUE
Q3 2010     Q4 2012       TRUE      TRUE        TRUE
Q4 2010     Q4 2012       TRUE      TRUE        TRUE
Q1 2011     Q4 2012       TRUE      TRUE        TRUE
Q2 2011     Q4 2012       TRUE      TRUE        TRUE
Q3 2011     Q4 2012       TRUE      TRUE        TRUE
Q4 2011     Q4 2012       TRUE      TRUE        TRUE
Q1 2012     Q4 2012       TRUE      TRUE        TRUE
Q2 2012     Q4 2012       TRUE      TRUE        TRUE
Q3 2012     Q4 2012       TRUE      TRUE        TRUE
Q4 2012     Q4 2012       FALSE     FALSE       TRUE
Q1 2013     Q4 2012       TRUE      FALSE       FALSE
Q2 2013     Q4 2012       TRUE      FALSE       FALSE
Q3 2013     Q4 2012       TRUE      FALSE       FALSE
Q4 2013     Q4 2012       FALSE     FALSE       TRUE
Q1 2014     Q4 2012       TRUE      FALSE       FALSE
Q2 2014     Q4 2012       TRUE      FALSE       FALSE
Q3 2014     Q4 2012       TRUE      FALSE       FALSE

ベンチマークの前の日付については、Excel は文字列全体を比較するように見えますが、ベンチマークの日付の後、Excel は比較で類似の文字よりも少ない 1 文字が見つかるまで文字列のみを比較します。

4

1 に答える 1

6

ここで Excel が行うことは、不一致が見つかるまで 2 つの文字列を左から右へ 1 文字ずつ比較し、値の高い文字を持つ文字列がより大きな文字列になるということです。これは、文字列を比較する標準的な方法です。ほとんどすべてのプログラミング言語、データベース、およびその他のソフトウェア パッケージで使用されています。

たとえば、最初の行の比較は次のようになります。

Comparison  Benchmark   Outcome
    Q           Q        Equal
    1           4        Benchmark is greater - done comparing
 [space]     [space]     Ignored
    2           2        Ignored
    0           0        Ignored
    0           1        Ignored
    9           2        Ignored 

4 行目は次のようになります。

Comparison  Benchmark   Outcome
    Q           Q        Equal
    4           4        Equal
 [space]     [space]     Equal
    2           2        Equal
    0           0        Equal
    0           1        Benchmark is greater - done comparing
    9           2        Ignored 

そして、最後の行は次のようになります。

Comparison  Benchmark   Outcome
    Q           Q        Equal
    3           4        Benchmark is greater - done comparing
 [space]     [space]     Ignored
    2           2        Ignored
    0           0        Ignored
    1           1        Ignored
    4           2        Ignored 
于 2012-08-02T21:29:35.267 に答える