- ベストアンサー
Excelの空文字セルの削除方法を教えてください
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
「長さ 0 の文字列」 ですね。 こいつはほんと厄介です。 対応には、Excel の標準の機能である、「検索と置換」 を使用しますが、一度では終わりません。 最初に 全く何入力されていないセルも含めて、空白に見えるセルを特定の文字列に置換します。 次に 「特定の文字列」を空白に置換します。 手順は以下の通り。 まず、対象範囲を選択します。 1.空白に見えるセルを 「削除予定」 の文字列に置換 メニューバーから、「編集」-「置換」 を選択し、「検索と置換」 ボックスを表示します。 「置換」 タブの、「検索する文字列」 欄の中をからにして、 「Delete」 を押します。 「検索する文字列」 欄にはそのまま何も入力せずに、その下の 「置換後の文字列」 欄に、「削除予定」 と入力し、「全て置換」 を押します。 別に、「削除予定」 で無くても構いません。 そのワークシートに 絶対存在しない単語 であれば何でも OK です。 2.「削除予定」 の文字列を空白に置換 再度、メニューバーから、「編集」-「置換」 を選択し、「検索と置換」 ボックスを表示します。 今度は、「検索する文字列」 欄に、「削除予定」 の文字列を入力します。 もし、1回目の処理で、「削除予定」 以外の文字列に置換していた場合は、そこで使用した文字列を入力してください。 その下の、「置換後の文字列」 欄の中をからにして、 「Delete」 を押します。 「セル内容が完全に同一であるものを検索する」 にチェックを入れてから、「全て置換」 ボタンを押します。 これで消えるはずです。
その他の回答 (5)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
VBA勉強がてら挑戦してみました。 tom04さんとxls88さんのいいとこどりで、数式を入力した後でも対応できるように Sub test3() ActiveSheet.UsedRange.Formula = ActiveSheet.UsedRange.Formula End Sub ただし、配列数式の確定をしている場合(数式が{ }で囲まれている) Sub 配列数式の確定をしている場合はこちら() Dim c As Range For Each c In ActiveSheet.UsedRange If c.Formula = "" Then c.ClearContents End If Next c End Sub
- xls88
- ベストアンサー率56% (669/1189)
VBAの例です。 下記コードを試してください。 対象セル範囲を選択しておいて With Selection .Value = .Value End With 対象セル範囲を記述するなら With Range("A1:A50") .Value = .Value End With
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAでの方法になってしまいますが・・・ 形式を選択して貼り付けたSheet見出し上で右クリック → コードの表示 → 白い画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim c As Range For Each c In ActiveSheet.UsedRange If c = "" Then c.ClearContents End If Next c End Sub これで何とか希望に近い形にならないでしょうか? 以上、参考になれば良いのですが・・・m(__)m
お礼
書き込みありがとうございます。 VBAですか 繰返し空文字を削除を行うのもいいのですが 指定箇所を消すだけでVBAを使う事もないと考えてました。 毎回使うし・・・う~ん 自分以外の人が使う場合、VBAが分からない人がいるので今回はmerlionXXさんの方法を取ってみたいと思います。
- MackyNo1
- ベストアンサー率53% (1521/2850)
空白文字列を空白セルに一括変換するなら、その列を選択して「データ」「区切り位置」で「完了」してください。
お礼
なんと!こんな方法があったとは 今回の場合は複数列ある為、この方法だと数回繰返し行わなくてはならなくなります。 前提条件が不足していて申し訳ございません。 勉強になりました、次回1列のみの場合はこの方法をとってみたいと思います。
F5でジャンプ画面が出るので、「セル選択」をクリック。 「空白セル」、OKで、空白セルが選択されます。「削除」 F5→Alt+S→K→エンター。の順で、どうでしょう。
お礼
書き込みありがとうございます。 さっそく試してみましたが 空白では認識しませんでした。 おそらく空文字として認識されています。
関連するQ&A
- セルが空になる値を返す関数
エクセルでの質問です。 セルが空になるような値を返す関数はあるのでしょうか。 例えば、以下のような処理で""とすれば、空文字が入るようなのですが、完全に空白セルにはならないようです。 =IF(C1<1,C1,"") もし条件にあわなければ、グラフでプロットしないようにしたいためです。(空白セルをプロットしない) すみませんが、分かる方、教えてください。
- ベストアンサー
- オフィス系ソフト
- 空白セルを空セルに置き換える方法(エクセル)
Excelで、空白に見えるセルを、空のセルに置き換える簡単な方法を教えてください。 長さ0の文字列扱いである「""」のセルが多数散在してます。これを数値扱いの空セルに置き換えたいのです。一つひとつDelキーを押したのでは手間がかかります。 「エクセル 空白 削除」などの検索では同じ質問はみつかりませんでした。
- ベストアンサー
- オフィス系ソフト
- エクセルで空白セル”” と未入力セルの違い
関数で セルA1 に=if(B1=0,"","入力済") としました。 セルの選択を素早くするためにショートカットキー「Ctrl+↓」を 利用しています。 通常の未入力空白セルは上記のショートカットで飛ばされて選択 されません。 これに対して上記関数で "" として入力されたものを コピーして値だけを貼り付けたとしても 上記ショートカットキーで飛ばされず選択されてしまいます。 見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。) 未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。 また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに 戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。 おわかりの方お教えください。
- ベストアンサー
- オフィス系ソフト
- エクセルとセルの比較について
エクセルとセルの比較について エクセル2007で二枚のシートを以下のように作成しました。 シート1 A 1 ←全くの未入力の空白セルです 2 3 シート2 A 1 ←未入力で空白セルですが、数式(if関数とISERROR関数)が入っています。 2 3 ここでしたい処理は、二枚のシートをIF関数で調べて正誤チェックをして、相違するセルに×を表示したいです。 ただ、A1セルに if(シート1A1=シート2A1,"","×") の数式をいれると、両者は違うセルとして認識してしまいます。 同じ空白セルなのにどうしてでしょうか。 また、この二つのセルはともに空白なので、同じものとして処理する方法はあるのでしょうか。 お願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのグラフについて
Excel2000のグラフについて教えていただきたいのですが 有るセルの数字から、別のセルへ計算で値を作りその値でグラフを作ろうとしているのですが。 何も入っていないセルは何も入っていないように、たとえば if(a1="","",a1*3) の様に式を入れたのですが。グラフにするとこの空白セルと0と認識しているようです。 x軸に一杯ポイントがうたれます。 グラフにこの空白セルを表示しないようにするにはどうしたらよろしいでしょうか。 空白セルを削除するとうまく行くのですが、いっぱいあって面倒なので何かいい方法がないか探しております。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルvbaでのセルの情報を貼り付け方法
vba初心者です。sheet1にあるセルの情報をsheet2にあるセルに貼り付けようと考えています。 下記のようにプログラムしました。 If Cells(Line, 6).Value = "" Then Cells(Line, 6).Value = "データがありません" Cells(Line, 5).Value GoTo コピー貼り付け End If コピー貼り付け: Cells(Line, 5).Copy 'コピーする Worksheets("輸入Parts").Range("A2").PasteSpecial Paste:=xlPasteValues '値を貼り付け 問題はコーピー貼り付けの箇所でRange("A2")ではなくA列の最初の空白のセルに貼り付けるようにしたいです。 どなたかお力をお貸しください。
- 締切済み
- Excel(エクセル)
- エクセルで不要なセルが削除できません。
お世話になります。 XPでExcel97です。文字だけのデータを引き継いだのですが、容量がとても大きい(3.5MB)ので調べたところ、A1からN100のセルまでしか入力されていないのに、Ctrl+EndでN2954のセルに飛びます。 不要な行を削除しても変わりません。同様のシートが40ほどあります。 原因と対策を教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでセルの先頭4文字から特定の値を表示
宜しくお願いします。 タイトルのとおりですが、例を書きます。 A列に「1234-XXXXXX」と「5678-XXXXXX」(Xはランダムな数字)と空白セルが並んでいるとき、 D列に先頭の4文字が ・「1234」の場合「山」 ・「5678」の場合「川」 ・空白かその他の値の場合セル背景色を赤 ・空白セルに「1234-XXXXXX」や「5678-XXXXXX」を入力したら、背景色をなくし「山」「川」それぞれの値 と表示したいと考えています。 毎日シートをコピーして値はクリアし、さらにデータは その他のシートから行コピーし値貼り付けするので、 関数などの数式等だと消えてしまい、その都度式を コピー&ペーストしなければならないので、 できればセルに式入力する以外(マクロ?入力規則?) の方法ご教授いただけると助かります。 長く分かりづらいところがありましたら申し訳ございません。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- Excelで"0"を空白に変換する方法
各セルにはある金額が入力されています。 同時に残高の無いセルは"0"が入力されています。 次に、このシートを別シートにコピーする時、"0"を"空白"にする必要があります。 そこで、IF関数『=IF(A1>0,A1,"")』(A1の場合)を使って別シートに展開しました。 その後、コピー&形式を選択して貼付け(値)処理をしています。 これで、見た目は"0"を空白にする事ができましたが、完全な空白にはなっておらず、空白をチェックする関数ではFalseが表示されます。 完全に空白になる方法を教えて頂けませんでしょうか? ※なお、CSVに変換する方法では出来たのですが、出来ればそれ以外で簡単に出来る方法をお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excel 隣接しない列に一発で値貼り付け
Excel 隣接しない列に一発で値貼り付け 隣接する列に表示されたデータを、同じシートの隣接しない列に一発で値の貼り付けがしたいのですが、可能でしょうか? A B C D E 1 チェック タイトル 名前1 名前2 説明 2 ○ 野菜 人参 牛蒡 これは根菜類 3 ○ 胡瓜 うり科の野菜です 4 5 ○ 果物 バナナ 柿 暖色系の色です G H I J K …… 1 計算式 B列を値貼り付け 計算式 C列を値貼り付け 計算式 …… ■A列 :C列に文字入力がある場合「○」が表示されます {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} *C列の空白の場合は全ての列が空白である(A列の式はそのため) *C列に文字がある場合のB、D、E列の空白には意味がある。 *コピーではなく値の貼り付けを行いたい。 *貼り付け左記の列は飛び飛びである。 *行の長さは可変する。 今までは、A列を「オートフィルタ」で「○」のみ表示させ、B-E列を1列づつH、J、L、N列へ貼り付けていました。マクロもいろいろ考えたのですが、初心者のため応用が出来ません。 関数でもマクロでも頑張ってトライしますのでお知恵を頂けますでしょうか。 PC環境:Win XP / Excel 2003
- ベストアンサー
- オフィス系ソフト
お礼
なるほど一度使用していない文字に変換して再度置き換えるんですね。 であれば別シートで計算しているIF文に置換え用文字列を入れておいた方が 置換えの手間が1つ減りますね。 ありがとうございます。