「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:1943
現在:5


lookup関数で#N/Aエラーが表示されます

ページOpenOffice.org FAQの登録ページ
投稿者はっし
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2010-06-20 03:09:56 (日)
OSxp sp3
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

お世話になります。

以下のような表で値によって#N/Aエラーが表示してしまいます。
エラーが表示してしまう原因と回避方法をご教授願います。

  A  B  C  D  E
1 1  2  3  4  5
2 1  3  2  4  5
3 1  3  4  2  5
4 4  1  2  5  3
5
6   ◎  (a) (b) (c)
7   1  1  1  #N/A
8 ◆ 2  1  1  #N/A
9   4  4  3  1

A1からE1は順位の表示です。
A2からE4は入力用の表になっています。
B7からB9には条件により数値を入力します。
それに伴ってC7からE9に条件検索された数値が表示されるようになってます。

lookup関数はC7からE9にはいっています。
C7 LOOKUP(B7;A2:E2;A1:E1)) D7 LOOKUP(B7;A3:E3;A1:E1)) E7 LOOKUP(B7;A4:E4;A1:E1))
C8 LOOKUP(B8;A2:E2;A1:E1)) D8 LOOKUP(B8;A3:E3;A1:E1)) E8 LOOKUP(B8;A4:E4;A1:E1))
C9 LOOKUP(B9;A2:E2;A1:E1)) D9 LOOKUP(B9;A3:E3;A1:E1)) E9 LOOKUP(B9;A4:E4;A1:E1))

本来の表示は下のようになると思います。
    A  B  C  D  E
6     ◎ (a) (b) (c)
7    1  1  1  2
8  ◆ 2  3  4  3
9    4  4  3  1

#N/A表示だけではなくC8,D8は表示も違ってます。
これはC8,D8だけではなく、入力される数値によってはC7〜E9のどこでもなります。
また、数値の並びによってはすべて正常に表示される場合もあります。

原因がわからないため対応のしようがなく困っています。
どうか宜しくお願いします。


昇順が必須な LOOKUP は使わない事

ike@九州 (2010-06-20 09:40:47 (日))

http://oooug.jp/faq/index.php?faq%2F5%2F385
と同じで、昇順に並んでいないためです。

昇順でなくても使用できる HLOOKUP や VLOOKUP が使用できるように表を工夫するか、 MATCH と INDEX の組み合わせを使います。

C7
=INDEX($A$1:$E$1;1;MATCH($B7;$A$2:$E$2;0))
D7
=INDEX($A$1:$E$1;1;MATCH($B7;$A$3:$E$3;0))
E7
=INDEX($A$1:$E$1;1;MATCH($B7;$A$4:$E$4;0))
後は下へドラッグコピーします

faq/5/385と同じ理由

M.Kamataki (2010-06-20 12:03:39 (日))

はい、ike@九州さんのご指摘のとおりだと思います。

LOOKUP関数を使うなら、C7、C8、C9については、基本的にはA1:E4の表を2行目をキーに昇順で並べ替えるべきですね。

同様にD7、D8、D9は、A1:E4の表を3行目をキーに昇順で並べ替え、E7、E8、E9は、A1:E4の表を4行目をキーに昇順で並べ替えれば期待した値になります。

これは、Excelでも事情は同じかと思います。

無題

はっし (2010-06-20 16:26:13 (日))

ike@九州様、M.Kamataki様ありがとうございました。

1行目が基準で昇順なので2行目〜4行目を昇順にするのは不可能なため、
ike@九州様提示の方法を試してみたところうまくいきました。

ありがとうございました。また、何かあったら宜しくお願いします。

お名前:
題名: