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

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

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

横方向の表から条件のあう最も左よりのセルの値を返す方法が知りたいです。 具体的に、表で説明します。 表は、2行11列の横の表です。 1行目には、0か1のどちらかの数字が入っています。 表の一番左(A1)は必ず0です。0の値は右方向へ連続して続き、途中で値が1になります。その後1がつづき、また0になります。 やりたいことは、1行目の値が1の場合の2行目のセルから、2行目の一番左よりのセルの値を返すことです。 (図の場合ですと、D2に該当するので、「5」になります。) 補足です。 表は、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
質問者

お礼

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

関連するQ&A

  • 表から○を入れた横のセルの値を足す関数を

    表を作っているのですが、○を入力した横のセルの値をずーっと足して行く関数を入れたいのですが教えてもらえますか。 この様な表を考えています。  基番   容量  A   B   C  103A  3.3  ○      ○  104A  5.5  ○  ○  105A  7.8      ○   ○        計   8.8  13.3  11.1 実際はかなり行列共に多いです。 関数を入れたいのは一番下の行の計の数値の所です。 ○を入力した横の容量の値を足した合計値が入っています。 VLOOKUPとかで出来るのかなっとも思うのですが、難しくて・・・・ よろしくお願いします。

  • wordで横に4つ表を並べたい

    Excelで作成した表をwordに貼り付けて4つ横に並べたいです.3つまでは並べられたのですが4つ目を3つ並んだ右の開きスペースに入れようとすると,左から3つ目の表の一番上のセルに入り込んでしまい,うまく横に並べることが出来ません.何か解決方法はないでしょうか.開きスペースは表の大きさより充分大きいです. 並べたい表は各々3~4行,1列のものです.上で高さをそろえたいので「図のコピー」にする方法では上手くできませんでした. 回答よろしくお願いします.

  • 該当する数字の一行上のセルの間の合計を求めたい

    該当する数字の一行上のセルの間の合計を求めたいです. 具体的に説明します. (1) 横長の表(C3:L4)の2行目から、A1の値と同じ値のセルを探したいです.(図の場合だと、F4) (2) (1)で探したセルの一行上のセルを探したいです.(図の場合だと、F3) (3) (1)と同様に、A2の値と同じ値のセルも探したいです.(図の場合だと、I4) (4) (2)と同様に、(3)で探したセルの一行上のセルを探したいです.(図の場合だと、I3) (5) (1)のセルから(4)のセルまでの合計を出したいです.(図の場合だと、sum((2)で求めたセル番号:(4)で求めたセル番号)) 補足 表の1行目のセルの値は、0または、整数でない値です. A1とA2の値は、0でない正の整数です. A1はA2よりも小さい値です. 表の行数は2行で、列数はA2の値よりも必ず多いです. A1とA2と表の組み合わせは、約5000個あります. どうか、関数を小分けにして教えて下さい. どうぞよろしくお願いします.

  • ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすれば

    ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすればいいのでしょうか? 例えば4列2行の表を作ったとします。 1行目の左から2列目のセルに文字を書き込みます。 表のオプションで「自動的にセルのサイズを変更する」のオプションを外して 1行目の左から2列目のセルに文字を書き込み、そのセル内の右端まで行くと自動的に改行されて 2行分の大きさになりますよね。 こうならず 2行目の左から2列目に行かせたい場合どうすればいいのでしょうか?

  • エクセル。あるセルに入っている値と同じ番号の行に

    A列に、1から3万くらいまでの大きさの連続しない値が入っているとします。 行数は1000行くらいです。 この数字のデータを、そのセルに入っている値と同じ番号の行に入れたいのです。 たとえばA列に上から、1、5、13、、、という数字が入っている場合、 A1に1、その後空白、A5に5、その後空白、A13に13、という具合です。 どのようにすれば良いでしょうか。 本当はA列以外に10列に値が入っていまして、 これらもA列の数字と一緒に移動させたいと思っています。 こういった場合に適用できる方法をお教え願えたら嬉しいです。 よろしくお願いいたします。

  • 1の表の値を2表から探してその隣列の値を3表へ貼付

    なかなかうまくできないため、もう少し詳しくかきます。 表画像は細かいので貼りつけません。excel2007 (1)book1.の表の値を (2)book2.の表の中から見つけて、その隣の列の値を (3)book3.の表の該当する箇所にふりがな表記の縦書きにして貼付けます。 book1.sheet1 B3から下方に英数字の値が1000行程度羅列しています。 例)a243,a546,b124... その値をbook2.sheet1 A列の中から見つけ、 その隣B列の値"文字列"を book3.sheet1の表の該当箇所に、 ふりがな表記の縦書きにして貼付けます。 book3.の表は、A2:Y2 までの列に25,24,23,22,...1と A5:Y5の列に50,49,48...26と数字が左から右に並んでいて、 このA2:Y7で1グルーブになり、Z2に"A1グループ"となっています。 このグループが下方に"A1グループ"~"A8グループ" 8グループあるというような表です。 ちなみに"A2グループ"はA8:Y13というぐあいです。 このAグループがsheet1に,sheet2にはBグループが同じ表であります。 例)book1でa243という値は最終的にbook3のA2グループの43のセルの2つ下H13に (2)(3)という方法で貼付けます。 b124という値はbook3 sheet2 Bグループの表”B1グループ"の24のセルの2つ下B:4に貼付けられます。 よろしくお願いします。

  • 連続しない範囲で一番右に値のある一番上のセル

    連続しない範囲で一番右の値のある一番上のセルの関数 エクセルの関数について教えてください。 下記表のようにGX列に、連続しない特定の範囲 (R4,AD4,AP4,BB4,BN4,BZ4,CL4,CX4,DJ4,DV4,EH4,ET4)で 「い」列の一番右に値のあるセルの年月を表示させる方法はありますでしょうか? 非表示のセルにも数値が入っていたり、2行目には「い」列があったりします。 年月はセルの結合をしています。 いろいろ調べて試してみたのですが、うまくいきませんでした。 何卒、ご教授よろしくお願い致します。

  • 乱数に対して条件に合った値を返すには?

    エクセル2010で 図のようにしたいです。 B列は乱数です。 C列はB列の乱数に応じて値を入力。 図のように セルB5が2の時は、3か4の値、 セルB6が4の時は、1~4の値を入れたいです。 この図例以外にも乱数に対して返したい値がたくさんあるため どのようにしたらいいのかわかりません。 IF関数を使うと思うのですがやり方がわかりません。 また、IF関数以外で「もっとシンプルにできるよ」という やり方があれば教えてください。 ご回答宜しくお願いします。

  • Excel フィルタした値をセルに表示する関数

    図のような表をつくり、表にはテーブル書式を設定しています。 B列で社名でフィルターをかけると、C列、D列の数値の集計は、SUBTOTAL関数(109)で行っており、フィルターをかけた最終行にその集計数値が表示されます(下部画像のようになる)。 ついでに、B列の最終行に、フィルターをかけた値(ここでは文字列の"あいう会社")を表示させたいのですが、どの関数を使えばよいのかわかりません。 フィルターに使った文字列を抽出する関数、 あるいはフィルタした値は常にB列の上から2行目にくるので、 これを参照してB列の最終行のセルに表示させる方法 はあるでしょうか?

  • エクセルで2つの条件に合うセルの合計

    エクセルで2つの条件に合うセルの合計 こんにちは。 例えば、以下のようにシート上にあるとします。 1 上 100 2 上 200 1 下 150 2 下 500 1 下 30 A列は1か2の数字 B列は上か下の文字 C列は数字 このシートでA列が1でかつ、B列が下の場合のC列を合計したいのですが、SUMIF関数でできるのでしょうか?他の関数でもかまいません。自分で関数を作るのはなしでお願いします。 (動作が重くなるので) ちなみに、上記の場合は、3行目と5行目が該当しますので、150+30=180となります。 -- エクセル2003

専門家に質問してみよう