
セルW17に=HLOOKUP("構造_主要",$A1:$PA2,2,0)」の数式があります。
A1列に該当する「構造_主要」があった場合にそのセルのすぐ下のセル値を表示します。
例えば
セルIH1に「構造_主要」がある場合はその下のセルIH2の文字「鉄骨造」がW17に表示されますが、
物件によってはIH2~IH12までの範囲に文字「鉄骨造」が表示されるので、IH2の文字「鉄骨造」が無い場合はW17には何も表示されない不具合が発生してしまいます。
数式を変更して該当セルのすぐ下だけではなく、セル2~12までの範囲文字を表示出来るようにできる方法を教えてください。
尚、セル2~12までの文字は全て同じ文字が表示させますので、同じ文字の内、W17には一つの文字「例:鉄骨造」の表示としたいです。
よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
質問拝見いたしました。
解決するための関数と、何故、うまくいかなかったのかについても回答いたします。面倒でしたら前者の方だけお読みください。
■解決するための関数
HLOOKUPを使う場合は、
=IFERROR(HLOOKUP("構造_主要",$A1:$PA12,MATCH("*",IH2:IH12,0)+1,FALSE),"")
またはこうです。
=IFERROR(INDIRECT("IH"&MATCH("*",IH2:IH12,0)+1),"")
この数式をW17セルに記入してみてください。
ポイントは以下の通り。
・IH列の2行目以降に何かしらの文字が入っていればそれを表示
・優先順位はIH2>IH12で、上の方のセルに書いてある文字が優先
・IH2~IH12のすべてのセルが空白の場合は空白になる
■質問者様の関数が思った通りに動かなかったのはなぜか
質問者様が書いた関数はコレですね。
HLOOKUP("構造_主要",$A1:$PA2,2,0)
分かりやすく引数を分解するとこうです。
第1引数:"構造_主要"
第2引数:$A1:$PA2
第3引数:2
第4引数:0
じっくり見ていきましょう。
第2引数で指定しているのはこの関数の適用範囲です。
検索範囲と言ってもよいでしょう。
$A1:$PA2と指定していますので、
A列の1行目からPA列の2行目までが適用範囲になりますね。
ここで大事なのは1行目~2行目が適用範囲ということです。
範囲が2行目までしかありませんので、3行目以降に何が書かれていようがこの関数には全く関係がありません。
質問者様は
>物件によってはIH2~IH12までの範囲に
>文字「鉄骨造」が表示されるので、
>IH2の文字「鉄骨造」が無い場合は
>W17には何も表示されない不具合が発生してしまいます。
このようにお話しされておりますが、それもそのはずです。
適用範囲に含まれているのはIH2だけで、IH3以降は無関係だからです。
適用範囲を例えば12行目まで広げるのであれば、
第2引数を$A1:$PA12とすればよいでしょう。
次に問題なのが第3引数です。
2を指定していますね。これは、構造_主要というセルがある列(IH列)の
2行目を表示するという意味になります。
ですので、先ほどの適用範囲を広げたとしてもこの数値が2のままでは
必ず2行目、つまりIH2のセルの中身を表示することになります。
ご質問者様がおっしゃる通り、
IH2が空白であれば関数の結果も空白になりますね。
この数字を3にすればIH3、4にすればIH4の中身を表示することができます。
まとめますと、
第2引数と第3引数の指定の仕方が間違っています。
第2引数:$A1:$PA2 → $A1:$PA12
第3引数:2 → 表示させたい行番号
しかしこの方法ではいちいち第3引数に数字を指定する必要があり面倒ですので普通はこのようなやり方はしません。
今回はこの数字を取得するためにMATCH関数を使用することで無理やりHLOOKUP関数で実現していますが、普通はVLOOKUP関数を使用します。
もしその情報が必要でしたらコメントください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
エクセル オートフィルタで絞...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
数式を残したまま、別のセルに...
-
エクセルの一つのセルに複数の...
-
対象セル内(複数)が埋まった...
-
Excelでのコメント表示位置
-
複数のセルのいずれかに数字が...
-
Excelで住所を2つ(町名迄と番...
-
EXCEL VBA セルに既に入...
-
エクセルの書式設定の表示形式...
-
【Excel】 セルの色での判断は...
-
EXCELのセルの中の半角カンマの...
-
Excelで数式内の文字色を一部だ...
-
エクセルで、複数の参照範囲を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
数式を残したまま、別のセルに...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
Excelで、「特定のセル」に入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excelで数式内の文字色を一部だ...
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
連続しないセルから最小値を引...
おすすめ情報