• 締切済み

表から条件の合う値を取り出す方法

EXECL初心者です。 お手数お掛け致しますが宜しくお願い致します。 関数にて表から摘出したいのですが方法が解りません。 ご教授願います。 (1)画像のC列のC1行の「1A」を選択する。 (2)B列のB3行の「B」を選択する。 結果=C列のC3の「1」を返す。

みんなの回答

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.8

ワークシート関数では実現できないと思うので、ユーザー関数 InterCell を作ってみました。 まず、以下のコードを ThisWorkbookにコピーしてください。 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Sh.Calculate End Sub 次に、以下のコードを標準モジュールにコピーしてください。 Public Function InterCell() As Variant Dim rng1 As Range Dim rng2 As Range Set rng1 = Range("C1:D1") Set rng2 = Range("B2:B11") With Selection If .Count = 2 Then If (Not Intersect(.Areas(1), rng1) Is Nothing) And (Not Intersect(.Areas(2), rng2) Is Nothing) Then InterCell = Cells(.Areas(2).Row, .Areas(1).Column).Value ElseIf (Not Intersect(.Areas(1), rng2) Is Nothing) And (Not Intersect(.Areas(2), rng1) Is Nothing) Then InterCell = Cells(.Areas(1).Row, .Areas(2).Column).Value Else InterCell = CVErr(xlErrRef) End If End If End With Set rng1 = Nothing Set rng2 = Nothing End Function 最後に、結果を返したいセルに以下のように入力して下さい。 =InterCell() 1つ目のセルを選択し、ctrlキーを押しながら2つ目のセルを選択して下さい。 InterCell を入力したセルに結果が返ります。 選択した2つのセルが有効範囲("C1:D1","B2:B11")にない場合は#REF! エラーが起きるようにしてあります。

全文を見る
すると、全ての回答が全文表示されます。
  • masnoske
  • ベストアンサー率35% (67/190)
回答No.7

[No.6] について なるほど、そういう方法もあるのですね。 1つ勉強になりました(使いどころが思い付きませんが)。 で、質問の場合は、2つのセルを指定しなければならないので、この方法ではダメですよね。。。たしかに微妙です。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1625/2467)
回答No.6

> おそらく、選択したセルを取得する関数は存在しません。 > ご存じの方がおられれば、フォローをお願いします。 微妙なところですが 選択したセルをダブルクリック(もしくはF2)してエンターでそのセルのアドレスが取得できます。 =ADDRESS(CELL("row"),CELL("col"))

全文を見る
すると、全ての回答が全文表示されます。
  • masnoske
  • ベストアンサー率35% (67/190)
回答No.5

何がしたいのか理解できないのですが。。。 おそらく、選択したセルを取得する関数は存在しません。 ご存じの方がおられれば、フォローをお願いします。 で、もしも、C列と3行の交点セル(C3)の値を得たいのであれば、結果を返すセルに =C3 と入力すれば良いだけですが、まさかね(笑)

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

初診者らしく、説明が普通と違うようで、よく意味が分からない。 (1)関数を使って達成する方法が、初心者にとってやさしいとは言えない。 VBAのSQLなどを使い、AND条件の仕組で検索するということがよく行われる。 (2)初心者はまず、エクセルの操作で実現する方法を考えるべきと思う。    (本件では、抜出し問題、抽出問題というパターンらしいが)エクセル は、まずそういうソフトだと思う。 「フィルタ」とかがまず考えるべきことと思う。 ーー 取り出す、抽出するための条件は、普通は「セルの値(数値、文字列)」で、シート上のセルに置いて、指定する場合が多い。そのセルが入っているセルを設けるということ。 データの中のデータから割り出して抜き出すのは、例えば最大値の、成績者氏名を取り出すなどのパターンはあり得るが。 まあ、3年B組の田中の今回の成績を抜き出すなどのパターから考える場合が多いと思う。 この質問のように、「選択する」という質問にはしない。 選択する、というのは、操作の説明に出てくるもの。 すなわち、データのある範囲外の、例えば、E1セルとF1セルに 「XX]と{YY]という値を入れて(指定して)それを使って関数式を組み立てるのです。 ーー 関数では、該当が2つ以上ある場合、すべて列挙するなどは、作業列を使わないと、式が複雑で、とても初心者が思いつける式ではないことを知っておくとよい。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1625/2467)
回答No.3

関数で選択したセルの場所2か所は得られないので (1)画像のC列のC1行の「1A」を選択する。 代替え案 E1に1Aを入力 (2)B列のB3行の「B」を選択する。 代替え案 F1にBを入力する 結果を表示したいセルに =INDEX(C2:D11,MATCH(F1,B2:B11,0),MATCH(E1,C1:D1,0))

全文を見る
すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

=HLOOKUP("1A",B1:D11,3,FALSE)

全文を見る
すると、全ての回答が全文表示されます。
  • sknbsknb2
  • ベストアンサー率38% (1134/2939)
回答No.1

E列に入れた値をキーにしてC列の値をF列に表示します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2003 3つの条件を満たす値の摘出

    行と列の交わるところの値を摘出したいのですが、条件が3つになってしまいます。 例えば 「1月のA社の入金は?」と言う具合です。表は下記のような感じです。     A   B    C    D    E     F    G 1           1月分            2月分 2  社名 請求  入金 手数料  請求  入金  手数料 3  A社  500   500   0    600    0    0 4  B社  300     0   0     0    0    0 5  C社  800   695  105   800   695   105 *B-D,E-Gはセルを結合してあります。結果はA10に出るようにします。 どんな計算式を使えばいいのか教えてください。 言いたい事がわかりずらいかもしれませんが、よろしくお願いします。

  • エクセル関数で、ある条件で表中の値を拾う方法は?

    エクセル関数を使って、表からある条件下でセルを特定する方法を探しています。 match関数とchoose関数の組み合わせでそれなりにできたのですが、その計算式をコピーするにはまた数式を入れなおさなければならない事に気が付いて、その労力に挑む気にはなれません。 マクロを組むという事も考えましたが、関数で対応できそうな気がするので。 例えば、下表にて     A列  B列  C列 1行目 5/12 りんご 300 2行目 5/14 みかん 400 3行目 5/21 いちご 450 4行目 5/24 バナナ 800 5行目 5/31 メロン 950 B列の中で、みかんに一致するセルを特定し、そのみかんを買った日付をセルに書き出したい。 日付だけではなく、その金額も隣のセルに書き出したい。 ちなみに、品目が重複する場合もあるのですがそれは無視していいです。 =choose(match("みかん",B1:B5,0),A1,A2,A3,A4,A5) で、やってみたのですが、実はChooseの引数にあたるものが25個あって、みかんにあたる品目が20個くらいありますので、この数式を20個作らなければならないので他の方法を探しています。 どなたかご存知の方がいましたら教えてください。

  • 2つの値が同じという条件で行を消したい。

    下のような表で、1列目、2列目の値がともにダブっている行のみを消したいです。 1   A 1   B 1   B 1   C 2   A 3   C 3   A 3   C でいうと2、3行めの 1   B と 6、8行めの 3   C がダブっているので それを行ごと消して 次のようにしたいのです。 1   A 1   B 1   C 2   A 3   C 3   A ちなみに各行には他の列にもデータがならんでいます (3   A   あ   カ・・・・・・のようになっています)。 また、ダブるのは2行に限らず3行4行にわたるものもあります。 これってけっこう難しいのでしょうか? ぜひアドバイスを。

  • エクセルで一覧表を「縦横」に調べて該当する値を取り出す方法について

    Excel2002を使用しています。 下記のような表を作成し、「MATCH関数」と「INDEX関数」を使用して、該当の値(仮にα値:5.3、距離700とします)を取り出そうとしているのですが、エラーになってしまいます。 A B C D 1 3.4 3.5 3.6  2 700 30.0 30.4 30.7 3 750 31.1 31.6 31.9     4 800 32.3 32.8 33.2 5 6 α値 5.3     7 距離 700   この表から、行番号、列番号を出すために、以下の関数式を使っています。     行番号:=MATCH(B6,B1:D1)     列番号:=MATCH(B7,A2:A4)  最後に、「INDEX関数」で該当の値を取り出したいのですが、この「INDEX関数」の結果が「#REF!」になってしまいます。関数式は   =INDEX(B2:D4,D6,D7) ちなみに、D6には、行番号の関数式が、D7には、列番号の関数式が入っています。 このエラーを解消したいのですが、どなたか知恵を貸していただけませんでしょうか。よろしくお願いします。

  • EXCEL2003 複数の条件を満たす値の摘出

    補充付きで、再度質問します。 行と列の交わるところの値を摘出したいのですが、条件が複数になってしまいます。 例えば 「1月のA社の入金は?」と言う具合です。表は下記のような感じです。 B16には、数式バーに入力されている関数が入っています。(B17・B18にも) A14の月を変更すると、15行目の請求額・入金額がその月に変更になるので、16~18行目にそれぞれの金額等を上記の表(5~7行目)から摘出して自動で表示させたいのです。 どんな計算式を使えばいいのか教えてください。 言いたい事がわかりずらいかもしれませんが、よろしくお願いします。

  • Excelで値と値をくっつけたり、+1する方法を教えてください

    添付した画像のような表を作成しています(添付用に加工しています) A列とB列は、手入力します。  A列:2桁の半角英数  B列:3桁の半角英数 C列に入るものは、  11(固定された数字)+A列の値+B列の値+001から始まる連番 ですので、3行目でいうとC3に「11 A1 B22 001」(分かりやすく半角スペースを空けています)      4行目ですとC4に「11C3D44002」 という値をA列、B列に入力をしたら、C列に上記のような10桁の値を 自動で入力されるしたいのですが、関数などで行うことでできないものかと思い質問しました。 現状は、C列も手入力で行っておりまして、  ・最初の2桁は、固定数値  ・A列とB列の値を使用している  ・最後の3桁は001からの連番を使用している    ※終わり3桁は無条件で001~の連番にしている もし関数などで対応可能でありましたら、どのような数式にすればよいのか ご教示頂けるとありがたく思います。 よろしくお願い致します。

  • エクセルの表で条件を指定しての整列

    エクセルの表で条件を指定して整列させようとしています。 よろしくお願い致します。 画像のようにA列の商品名に、B列、C列の2つの条件が付いた商品がありD列に在庫数を入れています。 はじめは「画像C表」のように規則を設定したものに従って並んでいたのですが、操作ミスがあり「画像A表」のように行をバラバラにしてしまいました。 A列の商品名、B列、C列の条件とD列の在庫数の横の並び(1行づつの並び方)は元のままです。 A列の商品名、B列、C列の条件の記入内容は半角全角文字様々です。 「画像B表」のような在庫数だけ入っていない表は存在しています。 これを「画像B表」の整列規則に従って元のように並べ直すのに苦労しています。 例えば定型の表である「画像B表」のA2セルとB2セルとC2セルの値が共通の行の「画像A表」のD2セルの値を「画像B表」のD2セルに並べるという方法が出来ればと思うのですが数式をどう設定してよいのか判らない常態です。 実際の商品数(行数)は10,000程あり日常扱っている商品のためかなり焦っております。 確実に元に戻せればどのような方法でも結構です。 初歩的な内容かもしれませんが、よろしくお願い致します。

  • 複数の条件を満たした時に特定セルの値を返す関数

    複数の条件を満たした時に【特定のセルの値】を返す関数を探しているのですが、自分が求めている方法が見つからず困っています。 大変お手数をおかけしますが、関数に詳しい方がおられれば、 ぜひご教授頂ければ幸いです。 例: 下記の画像のような表があります。 ※sheet2にも同じような表があります。(ただ、【●●●】の列は未記入の状態です) そこで教えて頂きたいのが、【A列】【B列】が同じ時に【●●●】列の値をsheet2の【●●●】 に返したいのですが、その関数を是非、教えていただけますでしょうか。 よろしくお願いいたします。

  • 【エクセル】 条件を満たした値の計算

    いつもお世話になっております。   A列  B列  C列 1  あ   A   a 2  い   B   b  3  い   C   c 4  あ   D   d ・  ・   ・   ・ ・  ・   ・   ・ ・  ・   ・   ・ A列が『あ』の行のB列・C列の値を使って、  (A×a+D×d)/(a+d)  (4行以降も『あ』があります) 上記のような計算をしたいのですが、 どのように関数を使ったらよいか分かりません。教えていただけないでしょうか。 どうぞ宜しくお願い致します。    

  • エクセルで、2つの条件に一致する値を返す方法 教えてください

    A B C D E F 1 日付 分数 2 Aさん Bさん Cさん Aさん Bさん Cさん 3 3/2 2/12 3/15 9 10 10 4 3/4 2/12 3/15 2 3 3 5 3/4 2/12 3/15 30 30 30 6 3/3 2/12 3/15 1 1 2 7 3/4 2/12 3/15 3 5 4 8 3/4 2/12 3/15 29 29 29 上記の表より 列A,B,Cは日付 列D,E,Fは分数です ・3行目のG列にD3:F3の範囲で最小値であり、A3:C3の範囲で最新の日付(最大値)である時の 日付を表示したい。 G3のセルを下に引っ張り各行ごとに値を表示したいです。 関数(式)を教えてください。

専門家に質問してみよう