• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL 表からの文字抽出に関して)

EXCEL表からの文字抽出に関して

このQ&Aのポイント
  • VLOOKUPとHLOOKUP関数を使用して、表からのデータ抽出について質問があります。
  • セルG61、G62、G63には別シートの内容が自動的に入ります。セルG65〜J65には条件に合致し、各時刻ごとの数値をデータ表から表示させたいです。
  • データ表には地域、方位、壁タイプなどがあります。数式を作成してデータを抽出しようとしましたが、途中で分からなくなってしまいました。教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No1です。微妙に変えてみた。わかりよいほうをどうぞ 壁タイプは I,C,D,Fとしてある。 G65セルに =IF(COUNTA($G$61:$G$63)<>3,"", INDEX((壁I,壁C,壁D,壁F), MATCH($G$61,$C$47:$C$58,0)-1+COUNTA($G64:G64), MATCH($G$62,$F$46:$M$46,0), MATCH($G$63,{"I","C","D","F"},0))) 右へオートフィル

kinetic7274
質問者

お礼

お礼が遅れましたが、素早い御回答ありがとうございます。 今まで表からの抽出はVLOOKUPとHLOOKUPしか使っていなかった為、INDEXとMATCH関数を併せた使い方があるとは知りませんでした。 2つ回答を頂きましたが、こちらの数式の方が分りやすかった為、こちらにお礼を付けさせて頂きます。 本当にありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! ・「地域」は全部で6地区あります。 ・「方位」は全部で8方向あります。(東西南北、北東、北西、南東、南西) ・「壁タイプ」は全部で4つあります。 とありますので、 (1)画像では地域が3地域だけですが、以下同様に3地域が表の下に続いている (2)列方向に1地域4行・8列の表が続いている (3)「壁タイプ」の「I」はF45セル・「II」はN45セル・「III」はV45セル・・・と規則的に入っている前提です。 画像のG65セルに =IF(COUNTBLANK($G$61:$G$63),"",INDEX(OFFSET($E$46,MATCH($G$61,$B$47:$B$58,0),MATCH($G$63,$F$45:$AD$45,0),4,8),COLUMN(A1),MATCH($G$62,$F$46:$M$46,0))) という数式を入れJ65セルまでオートフィルでコピーではどうでしょうか?m(_ _)m

kinetic7274
質問者

お礼

御回答ありがとうございます。 お礼が遅くなり申訳ありません。 空白セルの検索用の数式「COUNTBANK」というものがあるのですね 今までは「=IF(セル番号="","",~~)」というものしか使っていた無かった為、勉強になりました。 エクセルはまだ使い始めたばかりの素人なので、また質問をさせて頂く際は、宜しくお願い致します。 ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

32行目の例えば壁タイプIなどの入力は壁タイプI、壁タイプIIのように入力されているとします。 また、方位は8方向で、壁タイプは4つあるとします。 G65セルには次の式を入力してJ65セルまで横にドラッグコピーします。 =IF(COUNTIF($G$61:$G$63,"*?")<>3,"",INDEX($F$35:$AX$58,MATCH($G$61,$B$35:$B$58,0)+COLUMN(A1)-1,MATCH($F$63&$G$63,$F$32:$AX$32,0)+MATCH($G$62,$F$34:$M$34,0)-1)) F63の壁タイプの文字は必ず入力されているものとします。

kinetic7274
質問者

お礼

御回答ありがとうございます。 他の方とは違い、COLUMN関数を用いる方法があるのですね。 こちらも使ったことがなかったため、勉強になりました。 また他にも質問させていただくことがあるとはありますが、そのときはまたお助け頂ければ幸いです。 ありがとうございました。

回答No.1

それぞれの壁タイプの表はすべて同じ形(地域・時刻・方位)として [Ctrl]+[F3]名前の定義 名前 : 壁I 参照範囲 : =$F$47:$M$58 ほかの3つも同様 G65セルに =IF(COUNTA($G$61:$G$63)<>3,"",INDEX(CHOOSE(MATCH($G$63,{"I","C","D","F"},0),壁I,壁C,壁D,壁F), MATCH($G$61,$C$47:$C$58,0)-1+COUNTA($G64:G64),MATCH($G$62,$F$46:$M$46,0))) 右へオートフィル

関連するQ&A