関数 EXCEL&VBA

エクセルで「どちらかが空白なら」という条件式の考え方

エクセルの2つのセルのうち どちらかが空白なら1を表示させる。

このように「どちらかが空白なら」という判定には IF関数を使うのですが、IF以下の条件式には少なくとも2つの考え方があります。
ひとつは IF関数とOR関数の組み合わせ、さてもうひとつは???

今回は『エクセルで「どちらかが空白なら」という条件式の考え方』をピックアップします。



どちらかが空白ならという条件

冒頭で述べたとおり、「どちらかが空白なら」という条件式は 少なくとも2種類 の考え方があります。

下のサンプル表にはB列とC列いずれか、あるいは両方に「〇」が入力されています。
列のどちらかが空白なら、D列「判定」のセルに1を表示させましょう。

IF関数とOR関数の組み合わせ

このような時の、ひとつめの条件式は「B列が空白 or C列が空白」という考え方で、OR関数を使います。
セルD2に入る数式は;

=IF(OR(B2="", C2=""), 1, "")

となります。
数式をその他の行にコピーすると、B列かC列どちらかが空白の行に1が表示されました。


▲セルD3、D5に「1」が表示された

IF関数とCOUNTBLANK関数の組み合わせ

「どちらかが空白なら」という条件式のふたつめは「セル範囲の空白セルの数が1」という考え方で、COUNTBLANK関数 を使います。

セルD2に入る数式は;

=IF(COUNTBLANK(B2:C2)=1, 1, "")

となります。

実際に数式を入れた表がこちら。


▲結果はOR関数を使った場合と同じです

数式の補足
OR関数の短所は、表の列が多くなると条件分岐が ~ or ~ or ~ or と多くなり、結果として数式が長くなってしまう場合があります。
その点で、COUNTBLANK関数はセル範囲を指定できるため数式を短く保てるのがメリットです。
このように、少し考え方を変えることで数式をシンプルにすることができます。

また、列が複数で空欄が1つ以上ある場合を捉える場合の数式は「COUNTBLANK(セル範囲)>0」とするなど応用してください。

エクセルで「どちらかが空白なら」という条件式の考え方』は以上です。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-, ,