
こんばんは。
どなたか教えて下さい。
ExcelでA列とB列が有ります。
一番上の行は項目のタイトルです。
B列の数値ががマイナスならA列に「-1」
が、プラスなら「1」が表示されるようにセルA2に下記の関数を入れました。
=IF(B2<0,"-1","1")
※後はオートフィルで下までかけました。
ただB列がマイナスだと確かに「-1」と表示されるのですが、B列の数値がプラスでも空欄でもA列が「1」と表示されてしまいます。
=IF(B2<0,"-1","1")としつつ
B列が空欄の場合は、A列が空欄になるようにするにはどうすれば良いでしょうか?
No.3
- 回答日時:
添付画像をご覧ください。
B列に数値があって、A列でその数値の「+-判定」を行うものとします。
>B列の数値ががマイナスならA列に「-1」が、プラスなら「1」が表示される・・・(a)
というご質問者のご希望ですが、条件(a)にはBの値が0のときの判断が説明されていません。
ご質問者の数式である
A2: =IF(B2<0,"-1","1")・・・①
という数式では0のとき「1」が表示され、説明されていないのに0は勝手にプラスの判定になっています。
このため、EXCELが空白を0と判断し、0のとき「1」を表示することになる訳です。
本当に0をプラスと判定してよいのでしょうか?
それでよいのなら既出の回答の数式で解決です。
一方、IF関数を使わなくても、EXCELには専用の関数が用意されています。それがSIGN関数です。
添付画像のように
A2: =SIGN(B2)・・・②
とすれば、B列の数値ががマイナスならA列に「-1」が、プラスなら「1」が表示されます。
さて問題はここからです。
(a)というご質問者のご希望条件にB列の値が0のときの説明がないと申し上げましたが、(a)の条件にB列の値が0および空白のときどうするのかという条件を付けくわえないと、正しい数式が作成できません。
このため、ご質問のような事態に陥ることになります。
SIGN関数は値が0のとき0を返します。
ご質問者のご希望は以下のどちらでしょう
(1)空白と0とを区別して異なる表示にしたい
(2)空白も0も区別せず両方とも空白(あるいは同じ表示)でよい
例えば(1)の例で、空白なら空白、0なら0を表示する場合は
A2: =IF(B2="","",SIGN(B2))・・・③
とすれば空白なら空白、0なら0を表示することができます。
なお、数学的常識からは外れますが0をプラスと判定してよい場合は既出回答で解決できます。
また、(2)の場合は数式は➁のままで、「両方とも0を表示する」「A列の表示形式をユーザー定義で「#」として0を表示せず、どちらも空白とする」「同じくユーザー定義で「0;-0;-;」として、どちらもハイフンを表示する」などの方法があります。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセルの空欄をつめて、次の列に表示する方法 2 2024/06/08 09:40
- Visual Basic(VBA) VBAの質問(Msgboxについて)です 2 2025/02/19 07:07
- Excel(エクセル) 表中の指定した条件の文字列を結合する方法について 4 2024/08/01 14:32
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) EXACT関数とIF関数の組み合わせについて 2 2024/04/17 08:26
- Excel(エクセル) Excelで数式を用いて番号を順にするには? 2 2024/07/29 21:09
- Excel(エクセル) 4つのパターンを表示するEXACT関数について 2 2024/04/18 07:49
- Visual Basic(VBA) 合計数量から引いていく 1 2023/08/29 19:53
- Excel(エクセル) マクロについて教えてください。 1 2024/02/01 13:23
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelについて教えてください。
Excel(エクセル)
-
Excel関数の解決方法
Excel(エクセル)
-
エクセルオートサムでセル選択できません
Excel(エクセル)
-
-
4
エクセルについてどう関数を使えばいいか教えてください。
Excel(エクセル)
-
5
自動的に日付入力 応用
Excel(エクセル)
-
6
エクセル 月間シフト表で曜日ごとの休み数をカウントしたい
Excel(エクセル)
-
7
Excelの数式について教えてください。
Excel(エクセル)
-
8
Excelの条件付書式について教えてください。
Excel(エクセル)
-
9
マクロを実行すると、セル範囲に @ がついてしまう
Excel(エクセル)
-
10
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
11
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
12
Excelのデーターバーについて
Excel(エクセル)
-
13
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
14
名前の間のスペースをそろえる関数はありますか?佐藤 太郎 佐藤 太郎
Excel(エクセル)
-
15
Excelでプルダウン選択(I1セル)した文字列に該当したC列のセル行のみを切り替えて表示したいです
Excel(エクセル)
-
16
Excelの関数を教えて下さい。
Excel(エクセル)
-
17
複数条件の合計を求める数式を教えてください。
Excel(エクセル)
-
18
Excelで作成した出欠表から日付ごとの欠席者を書き出す方法について教えてください。
Excel(エクセル)
-
19
Excel 偶数月の15日(土日祝日には前日に更新)には自動でカウントアップする数式ができません。
Excel(エクセル)
-
20
空白処理を空白に
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【マクロ】A列にある、日付(本...
-
【条件付き書式】シートの中で...
-
【マクロ】EXCELで読込したCSV...
-
【エクセル】期限アラートについて
-
【マクロ】列を折りたたみ非表...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
マクロ・VBAで、当該ファイルの...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報