人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

もしN列に「#N/A」があれば、P列O列Q列のセルを合わせた値を返して、なければ同じ行のN列の値をそのまま返すというIF関数を適用したいのですが、エラーになってしまいます。

以前もVLOOKUP関数で似たような質問 http://q.hatena.ne.jp/1416579450 をしたのですが。
今度はIF関数で、上記のような文字列操作を行おうとしたのです。
しかし、関数を適用するセルの書式設定は全て「数値」に変更して、書式の不一致は無くした上で関数を適用させたものの。
どうしても「#N/A」になってしまうのです。
関数が正しく適用されれば「かきくけこあいうえおさしすせそ」と表示されるはずなのですが。
該当のファイルも一応こちら http://xfs.jp/znZdH に置きました。
画像で表しますとこのような状態 http://f.st-hatena.com/images/fotolife/m/moon-fondu/20141123/20141123013223.jpg?1416673965 です。
お手数お掛け致しますがお力添えのほど、よろしくお願いします。

●質問者: moon-fondu
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● passivedokechi
●150ポイント ベストアンサー

IF関数内の条件式は=ではなく、ISERROR関数を使うほうが良いかと思います。
(ISERRO関数についてはhttp://kokoro.kir.jp/excel/vlookup-iserror.html
が参考になります)

また、O列P列Q列は文字列だと思いますので、つなげた結果をそのまま表示したい場合はVALUE関数で数字にする必要はこの場合ありません
(「かきくけこあいうえおさしすせそは」は数字として認識できないので#VALUE!となります)

以上からセルR4に目的の表示をさせたい場合は
=IF(ISERROR(N4),P4&O4&Q4,N4)
となるかと思います。


moon-fonduさんのコメント
ありがとうございます、うまく表示されました!

2 ● gizmo5
●150ポイント

ISNA という関数で値が VLOOKUP 関数の結果が #N/A であることが判定できます。
文字列「あいうえおかきくけこさしすせそ」は数値に変換できませんので VALUE 関数は使いません。

=IF(ISNA(N4),P4&O4&Q4,N4)

http://support.microsoft.com/kb/402177/ja
例7を参照してください。


moon-fonduさんのコメント
ありがとございます、gizmo5さんの関数も適用させるとうまく表示されました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ