• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:横方向の表から条件のあう最も左よりのセルの値を返す)

横方向の表から条件のあう最も左よりのセルの値を返す方法

このQ&Aのポイント
  • 横方向の表から条件のあう最も左よりのセルの値を返す方法について知りたいです。
  • 具体的に、2行11列の横の表で、1行目の値が1の場合、2行目のセルから最も左のセルの値を返す方法を教えてください。
  • 表は2行45列あり、全体で72個のセルがあります。複数の関数を使用する場合は、できるだけ小分けにしてください。

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

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

=hlookup(1,A1:K2,2,)

goseinaito
質問者

お礼

できました! ありがとうございました!

その他の回答 (2)

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

表が2行一組で72個あるとのことですがA列からAS列までにデータが有るとします。 AU列にお望みの値を、それぞれの表の1行目に表示させるとしたら、次の式をAU1セルに入力して下方にドラッグコピーします。 =IF(A1="","",IF(AND(A1=0,COUNTIF(A1:AU1,">1")=0,A2<>""),INDEX(A2:AU2,MATCH(1,A1:AU1,0)),"")) 式の意味はA1セルが空ならば空白にしなさい、A1セルに0が有ってしかもA1セルからAU1セルの間には1より大きい2以上の数値が無く、また、A2セルが空でない場合にはMATCH関数でA1セルからAS1セルまでの間で1の数値が最も左側のセルで検出された列の位置を求め、INDEX関数を使てA2セルからAS2セルの間にあるMATCH関数で求めたその列での値を表示しなさいという意味になります。勿論A1セルが0以外やA2セルが空などの場合にはお示しの表の条件を満足していませんので空の表示となります。 MATCH関数は同じ1の数値が並んでいる場合などに列の左側から検索し最も左側の列番号を求める関数です。 COUNTIF(A1:AU1,">1")はA1セルからAU1セル範囲に2以上の数値が無い場合に0になります。 上の式のANDの条件で1行目に相当する行であることを確認して2行目の値を求めることにしています。したがって72個の表が連続した状態でAからAU列の下方に有っても、あるいは各表の間には空白の行が有ったとしても問題なくAU列に答えが表示されます。

goseinaito
質問者

お礼

できました! 『AND(A1=0,COUNTIF(A1:AU1,">1")=0,A2<>"")』 この意味は、 『A1セルに0が有ってしかもA1セルからAU1セルの間には1より大きい2以上の数値が無く、また、A2セルが空でない』 この部分、とても勉強になりました。 ありがとうございました。

noname#204879
noname#204879
回答No.1

》 …小分けにして下さい 合点承知! 添付図参照 M1: =MATCH(1,A1:K1,0) M2: =INDEX(A2:K2,M$1) セル M2 を下方にズズーッとドラッグ&ペースト

goseinaito
質問者

お礼

ありがとうございました! 理解も完全にできました!