外出自粛中でも楽しく過ごす!QAまとめ>>

エクセルで空白のセルに対してNULLという文字列を挿入したいのですが、
SUBSTITUTE関数を使ってやろうとたらNULLは0と判断されて0が入力されてしまいます。
NULLという意味ではなくて、NULLという文字列そのものを入力するときはどのようにしたらよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

NULLの前に『'』を入れます


半角の状態でshiftキー+7です。
文字列と認識され入力可能になるはずです。
    • good
    • 1

ritsurin03さん 今晩は!


■Excel(エクセル)入門/基本/上級/実用講座の総目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_ …
このサイトはよねさんのWordとExcelの小部屋で是非お気に入りに登録して置くと便利です。
Excel(エクセル)基本講座:データ(数値/文字列)の入力方法 を参照して下さい。
なおセルにNULLと入力すれば文字列と判断して呉れます。
ただし文字列は左詰めで表示され計算対象から外れます。
 
    • good
    • 0

SUBSTITUTE関数にでnullと言う文字に入れ替えしようとしたが、


関数の引数にnullと言う文字を直接入れたら0になってしまった
ということでいいでしょうか。

もしそうであれば関数を使わず、
次のようにするのばどうでしょう?
1.任意のセルにnullという文字を入力する
2.1のセルをコピー(ctrl+c)する
3.貼り付けたい範囲を選択する(空白以外のセルをふくんでよい)
4.ctrl+Gでジャンプのダイアログを表示
5.「セル選択」ボタンをクリックし「空白セル」にチェック
6.貼り付ける(ctrl+v)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで空白セル”” と未入力セルの違い

関数で セルA1 に=if(B1=0,"","入力済")
としました。
セルの選択を素早くするためにショートカットキー「Ctrl+↓」を
利用しています。
通常の未入力空白セルは上記のショートカットで飛ばされて選択
されません。
これに対して上記関数で ""  として入力されたものを
コピーして値だけを貼り付けたとしても
上記ショートカットキーで飛ばされず選択されてしまいます。
見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。)
未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。
また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに
戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。
おわかりの方お教えください。

Aベストアンサー

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。

つまり「セルを1つづつ選択してDeleteキーで1つづつ空白セルに戻すのが面倒」なので「全部を一気に空白セルに戻す良い方法は無いか?」と言う事ですね?

だったら簡単です。

すべての式を
=if(B1=0,"","入力済")
ではなく
=if(B1=0,1/0,"入力済")
にしておきましょう。

すると、未入力の所は、空白("")にならず「#DIV/0!」になります。

そう表示されたら、シート全体を選択し「CTRL+G」を押して「ジャンプ」を出します。

「ジャンプ」のダイアログが出たら「セル選択」を押し、セル選択のダイアログを出します。

セル選択のダイアログが出たら「数式」を選び、その下のチェックは「エラー値」だけにします。

「OK」を押してダイアログを閉じると「#DIV/0!」の表示になったセルのみが選択状態になります。

「#DIV/0!」の表示になったセルのみが選択状態になったら、Deleteキーを押して、それらのセルを一気に「空白セル」にして下さい。

もちろん、大量にあっても、手順は変わりません。

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショ...続きを読む

QIF関数でEmpty値を設定する方法。

こんにちは。
IF関数でEmpty値の設定方法を知りたいと思っています。
ゼロと値なしを分けるため、セルに対して値なしで有れば
IF関数にて""をセットしていますが、SUMPRODUCTで集計を
掛けた場合にエラーとなります。
そこで""ではなくEmpty値をセットしたいのですが、
方法をご存知の方いらっしゃれば宜しくお願い致します。

(例としては下記です。)
=if(A1>5,"",A1)をB1にセットし、
これを複数セル(B2:B10)に複写します。
(A1:A10)は0から9までの連番を入れます。
また、(C1:C10)には0から9までの連番が入っています。
B列には結果として0,1,2,3,4,5,空白となります。

これをSUMPRODUCTにて集計を掛けると
=SUMPRODUCT((C1:C10)*(B1:B10))
#VALUEエラーとなります。
しかしながら、B7:B10を削除してEmpty値とすると
正常に計算されます。

Excel2000/Excel2002です。
「Empty値」と「""」と「0」の値の件では度々このようなミスをしていましたので、この際解決したいと思っています。
尚、条件としてゼロは値として必要で、表示しなければなりません。
値なしは値なしとして空白を表示しなければなりません。
ご存知の方宜しくお願い申し上げます。

こんにちは。
IF関数でEmpty値の設定方法を知りたいと思っています。
ゼロと値なしを分けるため、セルに対して値なしで有れば
IF関数にて""をセットしていますが、SUMPRODUCTで集計を
掛けた場合にエラーとなります。
そこで""ではなくEmpty値をセットしたいのですが、
方法をご存知の方いらっしゃれば宜しくお願い致します。

(例としては下記です。)
=if(A1>5,"",A1)をB1にセットし、
これを複数セル(B2:B10)に複写します。
(A1:A10)は0から9までの連番を入れます。
また、(C1:C10)には0から9まで...続きを読む

Aベストアンサー

こんばんは。Wendy02です。

=SUMPRODUCT(B1:B10,C1:C10)
>条件で抽出する必要があるため、配列を分けられてはダメです。

意味が良く分かりません。単なる合計計算を出したいのではありませんか?以下で、例をつけて、もう一度、説明しなおします。

それで、#5 さんの回答で解決をついているのでしたら、こちらは、これ以上は、何も言えません。

ただ、Null という説明は、ワークシートではエラー値 「#NULL!」 としかないもので、それ以外には、Excelのワークシートでは事実上使いません。

Access やOffice VBAで使われるものです。それ以外は、現在のMicrosoft Office では使われないと思います。英語では、Nullというのは、元はゼロの意味を表しますが、VBAなどでは、明示的に Null と使うもの以外には存在しないものです。意味は、値が存在しないか、不定だということです。それに、「""」 は、長さ0の文字列と呼びます。Empty というのは、何も入れてない状態で、これも、VBAで使われるものですが、英語では、Empty は、空の状態 Blankと同義で、VBAのIsEmpty() は、ワークシート関数の ISBLANK()と同じ働きを持っています。

しかし、その説明の延長上に解答があるとは私には思えないのですが、それとも、私が質問を理解していないのかもしれません。ただ、今までのパターンからすると、そのような例というのは、覚えがありません。今回、私の書いた数式の仕様は、あまり、みなさんが知らないことだとは思います。

-----------------------------------------
  A   B  C
1  8     0
2  7     1
3  6     2
4  7  0  3
5  6     4
6  4  4  5
7  5  5  6
8  9     7
9  8     8
10  9     9

B1 ~フィルダウン・コピー 10 行目まで
=IF(A1>5,"",A1)
ただ、B4 は、手入力で、0 を入れた。
-----------------------------------------

この状態で、実際は、上記のような表の場合、(0 *3) + (4 * 5) + (5 * 6 ) で、「50」 になる、というようなことではないのかと、最初のご質問で解釈しました。

=SUMPRODUCT((C1:C10)*(B1:B10)) で、"" が途中で入れば、エラーが出ます。これは、SUMPRODUCT の引数の中の計算から始めるという、数式の特徴があるからです。

#1 さんの =SUMPRODUCT(IF(B2:B10<>"",B2:B10,0)*(C2:C10)) 

は、これは、SUMPRODUCT 自体が働きませんので、そのままでは、#VALUE!エラーが出ます。[回答への補足]は、[配列確定]をしたら、エラーが出なかった、ということではないか、と読みました。

こういう状態なら、=SUMPRODUCT((C1:C10),(B1:B10))

は、もともと、SUM関数と同じ仕様を持つこの関数は、「""」もEmpty(ブランク)も、文字列も同様に省きますから、数値だけを拾って計算をします。例えば、「""」の代わりに、「"なし"」としても、解は同じです。SUMに関係する関数には、数値でないという条件(節)を必要としません。他には、PRODUCT という関数があります。

これは、試してみれば一目で分かることです。上記の例の場合は、「50」という解が出ます。それをお分かりになっているのでしょうか?

>条件で抽出する必要があるため、配列を分けられてはダメです。
これが、一体、その後に、何の条件が付加されるのですか?こちらでは読み取れません。他に条件があるということでしょうか?

「0 」を数えるなら、
=COUNTIF(B1:B10,0)
ですし、

「""(長さ0の文字列) 」を数えるなら、
=COUNTIF(B1:B10,"")
または、
=COUNTBLNAK(B1:B10)

Empty=ブランクセルを探すなら、

=SUMPRODUCT(ISBLANK(B1:B10)*1)

しかし、これらの値のないセルに対して、それぞれの処理が変わるとしても、それは、いずれにしても、数値の掛け算の合計しかありえないはずです。

>ついては、[配列確定]を使いたくなかったので、テストしていません。

それに、他の人たちのは[配列確定]しなければ出ない解がほとんどですね。なのに、こちらには、なぜか[配列確定]は使いたくないという理由だけで、ダメにしてしまうのですね。他の人のは良いというわけですか?きちんと、条件を提示してくださったほうが、他の回答者さんのためでもあると思います。

私は、配列数式自体をお勧めするわけではありませんが、もし、配列数式を使いたくないのでしたら、補助の列を使って計算されたらどうですか?SUMPRODUCTの引数自体が、配列を使っていますので、配列確定をする数式だけが、配列数式ではありません。配列数式はとかく複雑になりやすいので、あまり手が掛かるようだった、最初からしないほうがよいです。

こんばんは。Wendy02です。

=SUMPRODUCT(B1:B10,C1:C10)
>条件で抽出する必要があるため、配列を分けられてはダメです。

意味が良く分かりません。単なる合計計算を出したいのではありませんか?以下で、例をつけて、もう一度、説明しなおします。

それで、#5 さんの回答で解決をついているのでしたら、こちらは、これ以上は、何も言えません。

ただ、Null という説明は、ワークシートではエラー値 「#NULL!」 としかないもので、それ以外には、Excelのワークシートでは事実上使いません。

Access...続きを読む

QテキストデータでNULL?

こんにちは。会社の人がテキストエディタでファイルを開いて、このデータはNULLが入っているからおかしいとかブツブツ言っていました。

データの中身はバイナリデータではなく、固定長、またはCSVファイルのような事を言っていました。

そこで疑問に思ったのですが、固定長、またはCSVでNULLなんてあるんでしょうか?たぶん、空文字列の事をさしてNULLと言っているような気がするのですが、テキストデータにNULLは存在するのでしょうか?

Aベストアンサー

まぁ、最終的にはその人に聞いてください。となりますが……。

>テキストデータにNULLは存在するのでしょうか?

Unicodeで保存すると、場合によっては00hが入ることもあるでしょう。
# プログラマ的に00hとNULLは別物…なんですけどね……。

Windowsでメモ帳を起動して、適当に何か記入します。(TESTとか、半角文字込みで)
[ファイル][名前を付けて保存]で保存するときに文字コードが選択できるかと思われますので
「Unicode」か「Unicode big endian」を選択して保存すると、ファイル中に00hが含まれるようになるでしょう。
# Windowsのバージョンによってはメモ帳で文字コードの選択ができないかも知れませんが…。

>固定長、またはCSVでNULLなんてあるんでしょうか?

固定長ならテキストファイルである必要も無いでしょうから、C言語などの構造体をそのまま書き出せば00hが含まれることもあるでしょう。
ソレをテキストファイルと言っていいかはかなりギモンですが。
# そういうデータをテキストエディタで開く…ということは可能でしょう。
# まともに読めるものになるかは別として。
# 文字コードがANSIまたはShiftJISでないデータの場合、バイナリダンプだと文字列部分が読みにくい…なんて理由でテキストエディタで無理矢理開くことがあるかも知れません。

CSVだと……どうなんでしょうかねぇ…
Unicodeで保存されることはまずないかと思いますけど。
# Unicode保存したcsvファイル、Excel2007では普通に読めます…な。

まぁ、最終的にはその人に聞いてください。となりますが……。

>テキストデータにNULLは存在するのでしょうか?

Unicodeで保存すると、場合によっては00hが入ることもあるでしょう。
# プログラマ的に00hとNULLは別物…なんですけどね……。

Windowsでメモ帳を起動して、適当に何か記入します。(TESTとか、半角文字込みで)
[ファイル][名前を付けて保存]で保存するときに文字コードが選択できるかと思われますので
「Unicode」か「Unicode big endian」を選択して保存すると、ファイル中に00hが含まれるようになる...続きを読む

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

QNullってどういう意味ですか?

プログラミングで「Null」っていうのがよく出てきますけれど

一般的にどういう時に使うものなのか分かりやすく教えていただけませんか?

Aベストアンサー

値が何もないことをさします。
普通に考えると、値がないのであれば「0」でいいじゃないか、
というふうに思ってしまうのですが、
プログラミングの場合は「0」も意味をもつので、
特にNULLと表現します。

例えば、真=1 偽=0 値なし=NULL
という具合。
…真偽が反対だったらゴメンナサイ。

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

Qエクセル 範囲 にある「0」を一括して空白(NULL)にする方法について

アクセスからエクセルの表をインポートする作業があるのですが、インポートした際、エクセル側に「0」があるので「0」もインポートされてしまい困っています。エクセル側で「0」が入力された範囲のセルをVBAなど自動一括で空白セルにする方法を教えてください。
(アクセス側でインポートする際、「0」を無視する方法でもいいです)
どうぞよろしくお願いします。

  A,B,C,D,E,
  データ1,データ2,データ3,データ4,データ5  
1 5,4,4,3,0
2 3,2,3,4,4 
3 5,4,3,0,0    
4 0,0,0,0,0
5 0,0,0,0,0


40 0,0,0,0,0

  

Aベストアンサー

エクセル側で、該当のシートを開き、
全てセルを選択し、編集(E)→置換(E)で置換してからインポートしてはどうでしょう?
 置換前の文字列に0を入れ、置換後の文字列に何も入れない
 注1)オプションで「セル内容が完全に同一であるものを検索する」にチェックを入れる

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QRange("A1")⇔cells(1,1)の変換。

EXCELのマクロについて質問します。
Range("A1")⇒(1,1)
cells(1,1)⇒("A1")
に一発変換する方法を教えて下さい。
時間があるかた宜しくお願いします。

Aベストアンサー

こんなのでよろしいでしょうか?
range("A1") → Range("A1").Row & "," & Range("A1").Column
cells(1,1) → Cells(1, 1).Address(False, False)
()や""は付けていません


人気Q&Aランキング