いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Gスプレッドシート)空白セルだけを一括置換する操作

 Googleスプレッドシートで、空白セルだけを一括して置き換え、指定した値を入力する方法についてです。

  • 対象範囲を選択してメニューから「編集」→「検索と置換」と進み、ダイアログで値を適宜設定することで空白セルの一括置換ができます。
  • ただし、枠線(罫線)を引いたりフォントサイズを変更するなどの操作を行ったセルでないと置換がうまく機能しません

手順

f:id:accs2014:20201019035421p:plain:right:w550

 このような、ところどころ空白になっている表があります。
 そこで空白セルをすべて「0」に置き換えるものとします。

 

f:id:accs2014:20201019035425p:plain:right:w550

 まずは対象となる範囲を選択します。

 

f:id:accs2014:20201019035429p:plain:right:w500

 そしてメニューから「編集」→「検索と置換」と進みます。

 
 するとダイアログが現れますがここがキモです。
 まず「検索」欄に「^$」と入力します。次に「置換後の文字列」に「0」と入力します。
 そして「正規表現を使用した検索」にチェックを入れます(自動的に「大文字と小文字の区別」にもチェックが入ります)。
 最後に「すべて置換」をクリックします(先に「完了」をクリックすると何も起きませんので注意)。

f:id:accs2014:20201019035434p:plain:w780

 

f:id:accs2014:20201019035439p:plain:right:w500

 すると置換が終わったことを示すメッセージが現れます。
 あとは「完了」をクリックしてダイアログを閉じます。

 ここで補足ですが、正規表現では「^」は文字列の先頭を、「$」は文字列の末尾を表します。これらが隣接しているものを「0」に置き換えることとしたため、結果的に空白セルだけが置き換えられた、というわけです。

f:id:accs2014:20201019035443p:plain:right:w550

 置き換え後の結果はこうなります。
 空白セルだけが「0」に置き換えられていることがわかります。

 注意点ですが、全く何の操作も行っていない空白セルにこの操作を行っても、置換ができません
 上記のように枠線(罫線)を設定したり、フォントサイズの変更等の操作を行った後のセルであればうまくいきます。こうした設定が不要な場合は、一旦枠線をひいて置換を行ってから枠線を消す、というのが一つの方法です。