• ベストアンサー

Excel、関数で空白を挿入できますか?(スペースでなく)

質問No.1880830と一部同じですが、答えを見ると「空白」でなく「スペース」になる方法です。あらためて質問します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.7

#4のmshr1962です。IF文を使わなくても 加算(減産)ならSUM 乗算ならPRODUCT で""を0として計算できます。

kirara18
質問者

お礼

たびたびのご回答ありがとうございます。 空白を入れることが出来ないとなると掛け算のほうで配慮しなければならないということですね。 このPRODUCTを使うのが一番良さそうですね。

その他の回答 (7)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.8

こんにちは。 まず、ワークシート上で、 「""」 というのは、正式には、「長さ0の文字列」といいます。「" "」は、スペース値ですね。なにもない状態を、「EMPTY」とか、「NULL」いいます。なお、厳密には、「NULL」というのは有効なデータが何も入っていない状態を指しますので、「EMPTY」という語を使っておきます。 この「Excel、関数で空白を挿入できますか?」のご質問の、セルの値「EMPTY」にすることは、ワークシート上の関数では不可能なのです。 そこで、二つの方法があります。 1つは、既出ですが、 その出た値を計算する場合に、計算値にエラーが出ていないかを調べる、   ・ISERROR などIS関数を使って、その計算値を調べる方法       と、   ・「0」を出力させて、「0」を、書式で表示させない方法  があります。 一般的には、前者で使われることが多いです。 例: # 1880830を参考にします。   A    B        C   1 10    1   =IF(B1="","",A1) 単独なら、何の問題もありませんね。 ここに、 D1: =B1*C1 としたら、どうでしょうか? B1 が空の場合、D1の数式は、文字列「""」を引数にしたので、D1 には、#VALUE! のエラーが出ます。 そこで、 =IF(ISERROR(B1*C1),"",B1*C1) や =IF(B1="","",B1*C1) という方法が、エラーの回避として使われます。 ただし、#1880830で触れられている、ISBLANK は、「BLANK」状態を表しますから、「0」値が有効ならば、ISNUMBER を使います。 後者の方法としては、 C1: =IF(B1="",0 ,A1) D1 =B1*C1 という式にして、該当するセルの書式を、 「 #,##0;-#,##0; 」 や、 「 #,### 」 というようにしてあげます。この場合、セルが、「0」なのか、空白「EMPTY」なのか区別がつかなくなります。

kirara18
質問者

お礼

ありがとうございます。 やはり空白(EMPTY)を挿入することは出来ないのですね。 書式で表示を変えるのはやったことがあるのですが、仰るように中身の区別がつかず、あまり良い方法でなかった記憶があります。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.6

>私の言う「空白」とはまだ何も挿入していない状態、「スペース」とは""を挿入した状態を言っています。 なるほど、質問の意図はよくわかりました。 関数の返値として、空白セルの状態を返すものは無かったと思います。 セルの内容が、数値であるか""とか" "であるようなセルを計算に使おうとする場合は、 =IF(ISNUMBER(A1),A1,0)*IF(ISNUMBER(B1),B1,0) のような処置を講ずる必要があるかと思います。 このように、結果セルを計算に用いると判っている場合には、 元のセルでは、""のようにしないで、0を返すようにして 0の場合に非表示になるようにセルの書式設定をする ユーザー定義で # とする とかすればいいと思います

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.5

#2です。""は実質は空白ではありません。 数式によって返している値なので…。(""とじかに入力しても空白ではありません) 結果の値を利用するのならば、isnummberやiserrorなどの関数を利用することをお勧めいたします。 尚、#3様の仰る#2様は、過去質問の#2様で、この質問での#4様です。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

前述のNo.1880830の回答は、""なのでスペースではありません。 "":長さ0の文字列 " ":半角(1バイト)のスペース " ":全角(2バイト)のスペース それとも数式自体が消えなくてはいけないのでしょうか? それだと関数でなくマクロ(VBA)になりますが...

kirara18
質問者

お礼

早速ありがとうございます。 ""がスペースでないことは分かりました。ただ空白とも違うので掛け算するとき困ります。空白同士を変えると0になるのに""同士を掛けると#VALUE!となってしまいます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

C1のセルに (A)+数値 (B)ー数値 (C)文字列 (D)スペース(文字列の特別のもの) (E)空白 のどれかの時, C1が (A)OR(B)の時ーーー>B1=A1 (E)の場合------->B1="" この場合B1の式は =IF(ISNUMERIC(C1),A1,"") で、#2さんのご回答で、良いのでは。 ただし(C)や(D)の場合どうするのか、質問に書いてないが。 きっちり条件を整理してください。 それに改めて質問するまでもない、前質問の補足に書けば済むようなことだと思うが。 #2のご回答者は5200件以上も回答されている、内容も立派な 回答されている方なので、補足すればすぐそれに合わせて修正回答が 出ると思いますよ(回答者の名前のところをクリックすれば、過去質問回答実績が出て、そういう方だと推測できるのです。私はいつもご回答を拝見してますのでわかるのですが)。 前の質問に補足もお礼も結果も書かずして、同様質問するのはマナーとしてどうかと思いますね。

kirara18
質問者

お礼

早速ありがとうございます。 ""を挿入すると掛け算に使えません。空白でしたら使えるので""でなく空白を挿入したいのです。 マナー違反との事ですが、私はNo.1880830の質問者とは別人です。勘違いされているのでは?

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.2

タイトルと質問文が合致していないのですが。 タイトルどおりだとすれば、「質問No.1880830」の回答だと思います。挿入する意味は不明ですが。 質問文通りならば、" "や" "を値として返せばいいのでは? 勘違いしているようであれば、ごめんなさい。

kirara18
質問者

お礼

さっそくありがとうございます。 " "や" "を値として返したものは足し算には使えますが掛け算には使えませんよね? 私、勘違いしていますか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

質問者のおっしゃる「空白」と「スペース」の違いってなんですか? どういう動作が求める動作なのでしょう?

kirara18
質問者

お礼

早速ありがとうございます。 私の言う「空白」とはまだ何も挿入していない状態、「スペース」とは""を挿入した状態を言っています。 皆さん困っているかと思ったのですが私の勘違いでしょうか? 「空白」と「空白」を掛け算すると答えは0、""と""を掛け算すると答えは#VALUE!になると思うのですが。

関連するQ&A