• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excelのバグ?)

Excelのバグ?

このQ&Aのポイント
  • エクセルで別のシートを参照し、参照先のセルが空白の時は"Blank"と表示するようにしていましたが、G列からは参照先が空白の時に0と表示されます。A列で用いている数式をそのまま貼り付けても0になります。
  • A列とB列間に1列挿入すると、F列のBlankがすべて0に変わってしまいます。もう少し見てみるとG列以降はif関数のTrue判定時の操作を読み込んでいないようです。
  • Excelで別のシートを参照し、参照先のセルが空白の場合に0ではなく"Blank"と表示したいが、数式をそのまま貼り付けても0になってしまう問題が発生しています。また、列の挿入によってif関数が正常に機能しなくなる現象も確認されています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

ANo.1の補足にあった式では現象が再現しました(Excel2010です)。 残念ながらISBLANKの使用方法を間違えています。 ISBLANKでテストの対象とするのは単セルです。セル範囲ではありません。 セル範囲を指定した場合の返り値は保証されません。 セル範囲の空白セルをチェックするにはCOUNTBLANK関数使用しましょう。

aykyi
質問者

お礼

ありがとうございます. countblank関数を利用することで解決できました. 適切なアドバイスありがとうございます.

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>Excelは2016です. 当方ではExcel 2016が無いので同一条件での検証ができません。 しかし、Excel 2013からの関数は互換性が保たれていると思います。 >Officeの再インストールは私物ではないのと各所で許可を取る必要があり,手段としては最後の方と考えています. Officeの修復は考えていないのですか? 尚、回答No.1への補足で次の数式を提示していますがIF関数の条件式にISBLANK関数の使い方を誤っているように思います。 「=IF(ISBLANK(sheet2!C3:F3),"Blank",SUM(sheet2!H3:K3))」 ISBLANK関数の引数で複数の連続セルを指定したときは先頭(左上)のセルのみの結果が戻ります。 また、C3:F3のすべてのセルがBlankのときなのか、C3:F3にBlank含まれているときなのかが提示の数式から判断できませんので代案を提示できません。 更に、チェック対象のC3:F3と合計する対象のH3:K3の関係が不明です。 一般的には計算対象をチェックして計算の要否を判断します。

aykyi
質問者

お礼

コメントありがとうございます. countblank関数を利用することで解決できました. 今回の目的は,例えばsheetAのセルC1に何らかの文字が入力されている場合,sheetAのセルH1に0が代入される sheetA D1 → H1に1 sheetA E1 → H1に2 ・・・ と指定しており, 加えて,G1に何らかの文字が入力されているとI1に1が代入される状況を作り,別シートにH1:I1の合計がシートごとに集計されるものを作ろうとしていました. 制限として (1)C1からF1までに何も入っていない場合 (2)C1からF1までの2つ以上のセルに入力がある場合 エラーを返すようにする必要がありました. もう少し賢い方法もあると思いますが,countblank関数で何とか乗り切れました. 何度もありがとうございました.

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

Excelのバージョンは? Officeの修復またはアンインストール後にWindowsを再起動してOfficeを再インストールしても同じですか? 当方ではExcel 2013で検証しましたが[別シート!セル]がBlankのときは"Blank"になります。

aykyi
質問者

お礼

ありがとうございました. isblank関数の使い方を間違っていたようです. countblank関数を利用することで解決できました. お騒がせしました. ありがとうございました.

aykyi
質問者

補足

ご回答ありがとうございます. 失礼しました. Excelは2016です. Officeの再インストールは私物ではないのと各所で許可を取る必要があり,手段としては最後の方と考えています.

全文を見る
すると、全ての回答が全文表示されます。
  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.1

当方では状況が再現出来ませんでした。(異常は確認できず) 再現内容は =IF(ISBLANK(Sheet2!A1),"Blank",SUM(Sheet3!A1)) を、Sheet1のA1セルに入力し。フィルペーストでI1セルまでコピー。 Sheet2のA1セルからI1セルまで1から9を順に入力 Sheet3のA1セルからI1セルまで11から19を順に入力 Sheet1のA・B列間に列を挿入すると、 新F1セルには旧E1セルの内容が、新G1セルには旧F1セルの内容があります ...以右同様。 Sheet2のA・B列間に列を挿入すると、 新F1セルには旧G1セルの内容が、新G1セルには旧H1セルの内容があります ...以右同様。 この状態で、Sheet2の新H1セルの内容「7」を削除すると、Sheet1の新H1セルの表示は「Blank」になります。 問題はありません。 この状況は再現できますか?

aykyi
質問者

お礼

ありがとうございました. isblank関数の使い方を間違っていたようです. countblank関数を利用することで解決できました. お騒がせしました. ありがとうございました.

aykyi
質問者

補足

ありがとうございます. バージョンをお伝えせず失礼しました. エクセルバージョンは2016です. 試していただいた内容を同じエクセルファイル上で実行してみたところ, Blankが表示されました. エクセルの再起動など試してみましたが,私の症状は治りませんでした. なぜうまくいかないのでしょうか... 私のところで起こる現象の再現方法がわかりました. 現在下記の通りに式を記述しています. =IF(ISBLANK(sheet2!C3:F3),"Blank",SUM(sheet2!H3:K3)) この数式をフィルペーストではなく,CからHまで貼り付けを行うと(CからHまで完全に同じ式),CからF列まではBlankと表示されるのですが,G列から0表示に変わるようです. この現象は再現できませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 関数 数式 Excel

    すみませんが教えてください! E列に下のような関数を入れたところ正しく表示されませんでした・・・ どうぞよろしくお願いします。 A列(数字・空白を含む)が 1 の場合”◎” A列が1以外の場合は B列(別シートから参照のVLOOKUP関数が入っている)と C列(別シートから参照ののVLOOKUP関数が入っている) を足した数字が D列(別シートから参照ののVLOOKUP関数が入っている) が同じなら ”OK” 違うなら ”NG" と表示させたいので =IF(A1=1,"◎",IF(D181=(B181+C181),"OK","NG")) としてみましたが"◎"が表示される表示は正しいのですが "OK" "NG"が正しく表示されません。 これに加えていずれのセルにも空白が存在するのでエラーを出さないようにしたいです。 よろしくおねがいします!!

  • EXCELでの関数についての質問

    EXCELの関数についての質問です。EXCELのバージョンは2010を使用しています。 状況を簡略化して説明すると以下のとおりです。 Cell(A1)=実数   (数値、あるいは空白) Cell(B1)=数式   (=IF(ISBLANK(A1),"",50/B2*100) Cell(C1)=数式   (=IF(ISBLANK(B1),"",100-C2) これでA1~A100までデータが散在するデータベースを想定してください。 この時B1は定数を参照しているのでA1がBLANKの時、ISBLANK関数の効果で文字が表示されず、 またA1が数値の時には式の通り計算が行われます. しかしCでは、B1の数式を参照していることになるので、B1がBLANKの場合でも計算が行われ、 結果として#VALUE!のエラーとなります。 この状況を回避するためにはどうすればいいのか、スマートな解法をお待ちしています。 VBマクロなどの方法でも大丈夫ですが、基礎的なことしかわからないのでコメントを付けていただけるとありがたいです。 そこまで実害は無い問題なので、例えば別個に計算するなどの力技はご遠慮ください。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • エクセルとセルの比較について

    エクセルとセルの比較について エクセル2007で二枚のシートを以下のように作成しました。 シート1   A 1   ←全くの未入力の空白セルです 2 3 シート2   A 1   ←未入力で空白セルですが、数式(if関数とISERROR関数)が入っています。 2 3 ここでしたい処理は、二枚のシートをIF関数で調べて正誤チェックをして、相違するセルに×を表示したいです。 ただ、A1セルに  if(シート1A1=シート2A1,"","×")  の数式をいれると、両者は違うセルとして認識してしまいます。 同じ空白セルなのにどうしてでしょうか。 また、この二つのセルはともに空白なので、同じものとして処理する方法はあるのでしょうか。 お願いします。

  • SUM関数について

    色々試したのですが、うまくいきません。 お分かりになる方、是非教えて下さい。 EXCEL2007で =SUM(Sheet1:Sheet2!A1)と数枚のシートの同じセルのトータルを 計算させています。 ところが対象セルに空白が1つでもあり、合計がゼロになる場合、ゼロと表示せず、 空白セルになってしまいます。 対象セルに空白があっても、合計が1以上の場合は答えが表示されます。 IF関数やISBLANK関数を使用してみても、うまくゼロ表示ができませんでした。 どのような数式にすれば、対象セルに空白があり、合計がゼロになる場合、ゼロと表示 してくれるのでしょうか? 是非教えて下さいお願いします。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • 関数

    ISBLANK関数で次の式を使って結果を出していましたが 【=IF(ISBLANK(S4),"",(A3+A5+A7+B8))】同一セル上で S4以外にもF9が空白だったら表示しない方法を教えてください。 出来れば上記のような数式をお書きいただければ幸いです。 是非宜しくお願いいたします。

  • EXCEL関数VLOOKUPとIFについて

    たびたび申し訳ありません シート1 セルA1(商品)  A2(値段)  A3(購入日) AAA       200円    2007年 BBB       300円 CCC       200円    2006年 シート2 セルA1(結果表示)   セルA2(商品入力) の様なデータがあるのですが シート2セルA1には以下のような関数を入れてます =IF(ISBLANK(A2),"",VLOOKUP(A2,Sheet1!A1:C3,3,FALSE)) もしシート2のセルA2に商品BBBを入れると 日付の部分が0と表示されてしまいます。 空白セルがあった場合に0ではなく何も表示されないようには どのような関数で書くのでしょうか? 又、別の件なのですがセルA1にセルA2の内容を表示するとき IF(A2="","",A2)と書いたのですがA1セルには ひし形のエラーマークが出ます。 内容は空白セルを参照していますと出てました こちらを消すにはどのようにすればよろしいのでしょうか? お願いいたします。

  • エクセルで関数の計算範囲に別の関数式で出した空白がある場合

    MAX関数を使う際、選択した範囲内(A10:A1000)に IF関数とISBLANK関数を使った数式 ( =IF(ISBLANK(C1),"",B2+C1) )の空白があると MAX関数がVALUEとなって計算されません どうしたらいいですか?

  • エクセルの条件による数式の入力

    こんにちは!既存でも見つからなかったので質問させていただきます。どなたかご教授ください。 ●ひとつのブック内に2枚のシートがあります。sheet1とsheet2とします。sheeet1にしかるべき数式を入力したいです。 Sheet2には例えば名簿があるとします。明石から始まり渡辺まで500人ほどの名簿です。これはA列に1から順に名前、B列の1からは年齢が入っています。 Sheet1のA列1行に数式を入れます。A-1には文字列で【わたしは明石です。】と順にA-1~A-500まで順番に入れます。ただしこのとき年齢が18歳未満の時これは入力したくありません。さらにそこには空白のセルを必要とします。IF関数を使うとは思うのですが、このsheet2の列Bの年齢を条件でみっあった時のみを抽出して数式を入力する数式がわかりません。どのようにしたらよろしいでしょうか?

専門家に質問してみよう