人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルで悩んでいます。B19のセルに「=計算シート!D5」、B20のセルに「=IF(LEFT(B19,1)=0,"A","B")」と入っています。最終的にはB19に「013」と前ゼロが入ってくる数値の場合に「13」と変換したいのです。
B19に「013」が入ってもB20の結果が”A”になりません。オーとゼロの誤入力はありません。(1)この原因はなんですか?(2)前ゼロを削除する別の簡単な方法ありませんか?

●質問者: keronimo
●カテゴリ:コンピュータ
✍キーワード:エクセル セル ゼロ 入力 計算
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● jupitervital
●60ポイント

LEFTの使い方が間違っているのが原因だと思います。

LEFTは”LEFT 関数は、文字列の先頭から指定された数の文字を返す”ので数値の「0」ではなく文字の「"0"」と比較する必要があります。

B20のセルに「=B19+0」と入力して数値に変換するのはどうですか?

◎質問者からの返答

2つ共解決できました!

文字列と数値の使い分けは難しいですね。+0で数値に変換できるのは知りませんでした。


2 ● stormbird
●20ポイント

http://microsoft.com/

↑ダミーです。

=VALUE(B19)

でどうでしょう。

◎質問者からの返答

この方法も使えました。


3 ● llusall
●10ポイント

(1)この原因はなんですか?

「計算シート!D5」の書式が「文字列」になっていると思われます。


(2)前ゼロを削除する別の簡単な方法ありませんか?

B19のセルに「=VALUE(計算シート!D5)」 として、

Value関数により、文字列を数値に変換して見たらいかがでしょうか?


4 ● aloalocafe
●10ポイント

まず確認したいのは、計算シートのD5セルに013が入力されているのでB19セルが013となるとの認識で間違いないでしょうか?

それであれば、話は簡単だと思います。

(1)原因はB19セルの013というデータが数値ではなく、文字列扱いになっていることです。本来013なんて数値は存在しませんよね。

そこでB20セルに記述した式「=IF(LEFT(B19,1)=0,"A","B")」を「=IF(LEFT(B19,1)="0","A","B")」とすれば結果は"A"となります。

(2)VALUE関数を使ってみてはいかがでしょうか?

B20セルに「=VALUE(B19)」ならB19セルが「00013」でも「13」と変換してくれます。

こんなんでよろしいですか?


5 ● ym777
●5ポイント

(1)は、「=IF(LEFT(B19,1)=0,"A","B")」を

「=IF(LEFT(B19,1)="0","A","B")」にすることで修正できます。


(2)は、「=計算シート!D5*1」とすると0を

削除できますが、B20の結果が"A"になりません。そこで、B19のセルに「=IF(LEFT(計算シート!D5,1)="0","A","B")」とすると"A"が表示されます。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ