
関数で セルA1 に=if(B1=0,"","入力済")
としました。
セルの選択を素早くするためにショートカットキー「Ctrl+↓」を
利用しています。
通常の未入力空白セルは上記のショートカットで飛ばされて選択
されません。
これに対して上記関数で "" として入力されたものを
コピーして値だけを貼り付けたとしても
上記ショートカットキーで飛ばされず選択されてしまいます。
見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。)
未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。
また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに
戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。
おわかりの方お教えください。
No.4ベストアンサー
- 回答日時:
>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。
未入力の空白セルは「ISBLANK関数」で「真」を返します。
一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。
>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。
>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。
つまり「セルを1つづつ選択してDeleteキーで1つづつ空白セルに戻すのが面倒」なので「全部を一気に空白セルに戻す良い方法は無いか?」と言う事ですね?
だったら簡単です。
すべての式を
=if(B1=0,"","入力済")
ではなく
=if(B1=0,1/0,"入力済")
にしておきましょう。
すると、未入力の所は、空白("")にならず「#DIV/0!」になります。
そう表示されたら、シート全体を選択し「CTRL+G」を押して「ジャンプ」を出します。
「ジャンプ」のダイアログが出たら「セル選択」を押し、セル選択のダイアログを出します。
セル選択のダイアログが出たら「数式」を選び、その下のチェックは「エラー値」だけにします。
「OK」を押してダイアログを閉じると「#DIV/0!」の表示になったセルのみが選択状態になります。
「#DIV/0!」の表示になったセルのみが選択状態になったら、Deleteキーを押して、それらのセルを一気に「空白セル」にして下さい。
もちろん、大量にあっても、手順は変わりません。
No.5
- 回答日時:
追記で補足説明。
先ほどの回答で
>「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。
と書きました。しかし、ある種の「異常な状態」は返せます。
それが「0で除算した状態」で、実際に式に書くと
>=if(B1=0,1/0,"入力済")
と言う事になります。
なお「式でエラー値を返す場合」は
=if(B1=0,1/0,"入力済")
の他
=if(B1=0,#NULL!,"入力済")
や
=if(B1=0,#REF!,"入力済")
や
=if(B1=0,#DIV/0!,"入力済")
も有効です。
>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
「不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。」
なるほど そうですね。
納得いたしました。
ありがとうございました。
No.3
- 回答日時:
驚きです@@;
=""と記述してある、セルをコピーして、別のセルに「値の貼付け」すると巣の貼り付けを行なったセルは、
見た目は未入力セルと何ら変わりませんが、Ctrl+↓で未入力ではないセルとなってしまうのですね。
初めて知りました!!
質問者様は、「マクロの記録」を使用してかなり複雑な作業をこなしてると想像してます。
「マクロの記録」を卒業して、「マクロを作成する」にステップアップされてはいかがでしょう?
まずは、「マクロの記録」で作成された、物をAlt+F11で(左に表示される標準モジュール内にあります)眺めて見て、
Ctrl+↓の部分をDo Whileなどのループでセルを一つずつ確認し""(空白)なセルの場合、処理をする
と言った感じです。
命令や文法は、「VBA 入門」でググレば、たくさんサイトが見つかると思います。
覚えてしまえば、「マクロの記録」では出来なかったことや、面倒だったことが、簡単に出来るようなります。
最初は戸惑うことが多いと思いますが、がんばってみてください。
No.2
- 回答日時:
>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセル
に対してそれぞれ
=COUNTA(アドレス)
を試してみてください。結果は「空白セル:0」、「""を値貼り付けしたセル:1」になります。
エクセルは「Null値」が入力されたセルと判断しているのです。
>ショートカットキーでとばせるメリットがなくなります
マクロで文字長が「0」のセルをクリアする方法はどうですか?
以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。
アクティブシートの選択されているセル範囲の「値の長さ=0」のセルをクリアするマクロです。ただし関数式でNullを表示しているセルもクリアされますのでご承知おきください
(マクロの実行結果はUNDOで戻せませんのでブックは予めセーブしておいてください)
Sub NullClr()
Dim r As Range
Application.ScreenUpdating = False
If TypeName(Selection) = "Range" Then
For Each r In Selection
If Len(r.Value) = 0 Then
r.ClearContents
End If
Next r
End If
Application.ScreenUpdating = True
End Sub
この回答への補足
ありがとうございます。
マクロ(VBA)での解決策 参考になりました。
欲を言えば
=if(B1=0,****,"入力済み")
この **** の部分に Null さえも
入力させないような工夫はないでしょうか。
(シート上での操作にこだわってすみません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
エクセルでのNULLという文字列挿入について
Windows Vista・XP
-
IF関数でEmpty値を設定する方法。
Excel(エクセル)
-
-
4
空白セルを空セルに置き換える方法(エクセル)
Excel(エクセル)
-
5
Excelの空文字セルの削除方法を教えてください
Excel(エクセル)
-
6
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
7
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
11
VLOOKUP関数を使用時、検索する値は昇順に並べ替える必要がありますか。
Access(アクセス)
-
12
形式貼り付けの「空白を無視する」ができない
Excel(エクセル)
-
13
NULLとブランクの違い
その他(プログラミング・Web制作)
-
14
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
15
エクセルVBA 長さ0の文字列をNullに
その他(Microsoft Office)
-
16
UserForm1.Showでエラーになります。
工学
-
17
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
18
Excelで数式の入っているセルを空白と認識させたい
Excel(エクセル)
-
19
エクセルでCSVを編集するとき、空白(NULL?)はどう入れますか
Excel(エクセル)
-
20
EXCELのダイアログシートって、なんですか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数式内の文字色を一部だ...
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
エクセルのセルの枠を超えて文...
-
セルをクリック⇒そのセルに入力...
-
数独の解法についてお聞きします
-
公共建築工事 共通仮設費率 エ...
-
エクセルの一つのセルに複数の...
-
excelのCOUNTIF関数で、『範囲=...
-
Excelで、「特定のセル」に入力...
-
VBAで特定の文字が入力されたセ...
-
Excel2003 の『コメント』の編...
-
(Excel)数字記入セルの数値の後...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセル オートフィルタで絞...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
excelのCOUNTIF関数で、『範囲=...
-
貼り付けで複数セルに貼り付けたい
-
エクセル 足して割る
-
【エクセル】IF関数 Aまたは...
-
Excelで数式内の文字色を一部だ...
-
Excelで教えてください。 バー...
-
EXCEL VBA セルに既に入...
-
セルをクリック⇒そのセルに入力...
-
エクセルのセルの枠を超えて文...
-
対象セル内(複数)が埋まった...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルの一つのセルに複数の...
-
Excelで住所を2つ(町名迄と番...
-
エクセル オートフィルタで絞...
-
枠に収まらない文字を非表示に...
-
エクセルで空白セル”” と未入...
-
Excel2003 の『コメント』の編...
-
ドロップダウンさせるボタンを...
おすすめ情報