私のデータには部屋番号の列が含まれています。各部屋番号の最初の2桁は、部屋が配置されている階数です。 = LEFT関数は、ゼロで始まらないデータに適しています。 = LEFT関数は、ゼロで始まるデータに対してはうまく機能しません。
最初の数値がゼロの場合、最初の数値を無視しないようにするにはどうすればよいですか?
Room Number Formula Floor Number
1214 =LEFT (A2, 2) 12
2354 =LEFT (A2, 2) 23
1876 =LEFT (A2, 2) 18
1567 =LEFT (A2, 2) 15
0403 =LEFT (A2, 2) 40* (should be level 04)
1918 =LEFT (A2, 2) 19
0910 =LEFT (A2, 2) 91* (should be level 09)
マイケル・フランクは何が起こっているのかを理解しました。 「0000」のカスタム形式では、4桁を表示するために必要に応じて先行ゼロが追加されますが、セルの内容は変更されません。その形式を102
に適用すると、セルには0102
が表示されますが、LEN()を使用して文字数をテストすると、3と表示されます。これは、短い式のソリューションに使用できます。
A1には、102
という値があります。 A2では同じ値、カスタム形式0000
です。 B2の式は次のとおりです。
=LEFT(REPT("0",4-LEN(A2))&A2,2)
これにより、A2の値の実際の長さが4から差し引かれ、結果の先行ゼロのカウントが作成され、A2の実際の値に連結されます。次に、結果の左2文字を取ります。
行3は、列Aの値が実際には4文字である場合の結果を示しています。