エクセルです。If文に#N/Aを指定した場合
私は6000以上のレコードを持っていますが、そのうちの半分は変数が欠けている数式なので、スプレッドシート上では#N/Aになってしまうのですが、セルが#N/Aの場合はセルを空白のままにして、そうでない場合は
=IF(AR6347="#N/A","","string in here")
のような文字列を表示したいのですが、これは="#N/A"では動作しません。
私は6000以上のレコードを持っていますが、そのうちの半分は変数が欠けている数式なので、スプレッドシート上では#N/Aになってしまうのですが、セルが#N/Aの場合はセルを空白のままにして、そうでない場合は
=IF(AR6347="#N/A","","string in here")
のような文字列を表示したいのですが、これは="#N/A"では動作しません。
007関数を使用してみてください:
=IF(ISNA(AR6347),"","string in here")
iserror()関数を使用します。例えば、vlookupでテーブル内の値が見つからない場合、Not foundの代わりに#N/Aを表示したい場合、次のように入力します:
=if(iserror(vlookup(A1,Sheet2!$A$1:$C$360,3,0)),'Not found',vlookup(A1,Sheet2!$A$1:$C$360,3,0))
だから、この式は次のように言っています: もしvlookup関数がエラーを取得している場合は、文字列'Not found'を返し、そうでない場合はvlookup関数の結果を返します。
最もシンプルな方法
=IFNA(formula,"text/value if formula result is #N/A")
&001
これは式の結果をセルに入れます(結果が#N/Aでない場合)が、式の結果が#N/Aの場合は代わりにテキスト文字列(または第2引数として入れた値)をセルに入れます。
私は、#N/Aを表示させたくないときはいつもVLOOKUPとINDEX-MATCHを使っています。必要に応じて、#N/Aの結果を空白セル(“”)やゼロ(0)、テキスト(“テキスト文字列”)に置き換えます。