• ベストアンサー

エクセル関数を使用して項目を抽出したい。

例えば、下のような表があるとして、     A   B   C   1   年 名前  年俸 2  07春  か  1000 3  07夏  か  6000 4  07秋  か  8500 5  07春  き  5000 6  07夏  き  4500 7  07夏  け  5000 8  07秋  け  9000 同じ年の年俸の高い順に、年俸と名前を抽出したいです。 例えば、こんな感じに。 07春なら、 き 5000 か 1000 07夏なら、 か 6000 け 5000 き 4500 一応自分でも考えてみたのですが、自分の知識では、 年が「07春」で、かつ年俸の高い順というように複数条件を組み込むことが出来ませんでした。。 一応、考えてみた関数です。 07春のケースで名前を抽出(高い順が考慮されず・・・。) =INDEX(B1:B10000,MATCH("07春",A1:A10000,0),B1) 恐らくこれに、LARGE関数を上手く組み合わせればよいと思うのですが、もうお手上げです^^; どなたか、わかる方、回答お願いいたします。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

◆関数による方法です     A   B   C   D   E   F   1   年 名前  年俸     07夏 2  07春  か  1000      か  6000 3  07夏  か  6000      け  5000 4  07秋  か  8500      き  4500 5  07春  き  5000 6  07夏  き  4500 7  07夏  け  5000 8  07秋  け  9000 ★E1に、「年」を入力します F2=IF(ROW(A1)>COUNTIF($A$2:$A$8,$E$1),"",LARGE(INDEX(($A$2:$A$8=$E$1)*($C$2:$C$8),),ROW(A1))) ★下にコピー E2=IF(F2="","",INDEX($B$1:$B$8,SMALL(INDEX(SUBSTITUTE(($A$2:$A$8=$E$1)*($C$2:$C$8=F2),0,10^5)*ROW($A$2:$A$8),),COUNTIF($F$2:F2,F2)))) ★下にコピー ◆E1の「年」を変更するとその内容が表示されます ◆少し式が長いですが、同じ年棒でもできますよ

bumplove777
質問者

お礼

完璧なご回答をありがとうございました!!

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

その他の回答 (1)

noname#204879
noname#204879
回答No.1

関数による解決をお望みのようだけど、別解としてピボットテーブルでもご希望の結果を得ることが可能です。手順(単純ではありません)はご自分で勉強していただくとして、結果だけを示しておきます。 合計 / 年俸 年      名前 合計 07夏     き  4500        か  6000        け  5000 07秋     か  8500        け  9000 07春     き  5000        か  1000

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

関連するQ&A

  • EXCELの関数について

    質問なのですが下記の関数だとCommodity(Sheet2)のB2~B331で 該当(MATCH)する物の番号を抽出するのですが複数あっても一つ しか抽出されません。どうすれば複数抽出されますか?また抽出 されたときに1,2,3といった様に数字の若い順から表記したいです。 =MATCH(A2,Commodity!B$2:B$331,0)+1

  • エクセルで項目抽出

    sheet1のB列に「あ」と入っている行のF列の数字 のなかで、 sheet1のF列が1番大きい数字を取り出すようにしたいのですが、 下の2式をどういうようにつなげればいいのか、わかりません。 =INDEX(sheet1!F:F,MATCH("あ",sheet1!B:B,0)) =INDEX(sheet1!F:F,MATCH(LARGE(sheet1!F:F,1),sheet1!F:F,0)) どうすればうまくいくでしょうか? 調べてみて、AND関数などいろいろと使ってやってみたんですが、うまくいきませんでした。 回答御願いします。

  • Excel INDEX関数ズレて抽出される

    INDEX関数で行列番号取得にMATCH関数を使用したときにズレてしまう。 定例のミーティングの参加表を作成しようとしています。 シートの構成は添付画像の通りです。 Sheet1 定例のミーティングの参加表 巡回Aは月ごとに担当者が変わる。 Sheet2 巡回Aの月別の担当表 巡回Aの担当表を用意して、COUNTIF関数で参加表の氏名が巡回Aのリストに含まれていない場合(カウント0)は空欄にし、0以外の場合、INDEX関数で列番号のところにMATCH関数をネスト、MONTH(TODAY())+1とし、ex. 8月なら翌月の9月に該当する列番号を抽出して巡回Aの出席を月が変わると連動するようにしたいです。 =IF(COUNTIF($B$22:$B$29,$B3)=1,IF(INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))=0,"",INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))),"") 職場のExcel2016では列がズレてしまい、抽出ができないです。 Excel365では問題なく抽出ができました。 2016でズレるのは何故でしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

  • エクセル MATCH関数について

    エクセル2013の練習でMATCH関数とINDEX関数を利用した データを作っていました。 添付した画像のD79でMATCH関数を使って番号を表示しています。 D79に入力した式は=MATCH(C79,B73:B76)です。 指定の行はB73~B76までの4行で、春、夏、秋、冬の順番で並んでいますが C79に春と入力すると、順番としては1番目の春が何故か3と表示されます。 他の夏、秋、冬は順番通り2,3,4と結果が表示されます。 シートの設定を変にしてしまったのかもしれないと新規で開いて試しましたが結果は同じでした。 MATCH関数の検索を行ではなく列側に変えて試しもしましたが、結果は同じでした。 春以外の言葉や数字だとこのようなことは起こりません。 また、リストにしても直接打ち込みにしても同じ結果でした。 この現象を春を使用しない以外に回避する方法がありますでしょうか? 宜しくお願い致します。

  • エクセルで項目を抽出したい

    皆様のお知恵をお貸しください。 日々作業者が行っている日報の項目を一覧表より抽出したいのです。 シート1には受付日(A列) 品番(B列) 数量(C列) 納期(D列)・・・ などが記入されています。日々増えていき月あたり100件程度です シート2には作業者の日報に書かれている品番(A列)、作業時間(B列)、作業者名(C列)作業日時(D列)を手入力していきます。 月当たり1000ほどの入力になります。 複数の作業者が同じ仕事をすること、日をまたぐこともあり重複しています。 求めたいことはシート3のA列にシート2で書かれた品名をシート1の品名の中から抽出し自動で書き出したいのです。 今はピボットを使いシート2のデータを表にして、そこの項目をLOOKUP関数を用いて導きだしていますが、その都度ピボットを更新させないといけないので煩わしいと思い、できれば関数で抽出をしたいのです。欲を言えば品番の若い順に自動で抽出できればいいのですが、まずはシート2に書かれた順でもかまいません。 記入例 シート1には A列    B列    C列    D列 10/1   10001    30    10/12 10/2   10002    1     10/5 10/2 10003 3 11/5 ・       ・        ・ シート2には  A列    B列     C列    D列 10001    2.5     ○○   10/2  9058    4      ○○   10/2 10003 1 ○○   10/3 10001 1 ××   10/3  10003 6 ××   10/3 10002 2 △△   10/5 シート3には(希望としては)  A列     9058 10001 10002 10003 . . . よろしくお願いします。     

  • エクセル関数(マクロ) 抽出方法について

    列A~Dに職員NO、所属、家族、名前の入っている名簿(左側)を、並び替えをする際に、下記右表のように、家族区分の”1”のみを取り出して、一人一レコードにしたいのですが、何か良い関数とかまたはマクロでの考え方とかをお教えいただければと思います。 (元シート)|(抽出シート) 職員No.|所属|家族|氏名| 職員NO順 120 002 1 B | A 120 002 2 B | B 134 010 1 C | C 134 010 2 C | D 134 010 3 C 152 050 1 D | 所属・職員NO順 152 050 2 D | B 152 050 3 D | C 152 050 4 D | D 152 050 1 D | A 100 200 1 A ※出来ればオートフィルタを使用せずに関数や マクロで対応したいと考えています。

  • エクセル関数 複数条件での抽出について

    エクセル関数について質問です。 行と列の交差する位置の値を取り出す方法に困っています。 添付の表があり、表の下の各セル、種類1(セルB15)、種類2(セルB16)、種類3(セルB17)に検索したい番号、記号をそれぞれ入力すると、3つの条件と合致する果物がセルB18に表示されるようにしたいのですが、 例)種類1「1」、種類2「2」、種類3「B」と入力→果物「りんご」 セルB18に=INDEX(C2:F13,MATCH(B15,A2:A13,0),MATCH(B16,B2:B13,0 ),MATCH(B17,C1:F1,0))の数式を入れるとエラー値 #REF! が返ります。 DGET関数も試しました。お手上げです・・ どうか教えていただけますでしょうか。エクセルのバージョンは2010を使用しています。 説明下手で申し訳ありません。よろしくお願いします。

  • EXCEL関数でフィルタの様にデータ抽出したい

    以下のサイトで http://okwave.jp/qa/q6674262.html ベストアンサーに選ばれている方法だと古いものから順に抽出されるのですが、新しいものから古い方へ抽出させるにはどうすればよいのでしょうか? small関数をlarge関数に変えたり、×1000を1/1000にしたりしたのですが、上手く行きません。 ご教示下さい。

  • エクセル関数について教えて下さい。

    仕入先の下(C3)の関数 =IF($D3>MAX($J$14:$J$135),"",INDEX($B$14:$B$135,MATCH($D3,$J$14:$J$135,0),MATCH(C$2,$B$13:$B$13,0)))&IF($D3>MAX($L$14:$L$135),"",INDEX($B$14:$B$135,MATCH($D3,$L$14:$L$135,0),MATCH(C$2,$B$13:$B$13,0)))&IF($D3>MAX($N$14:$N$135),"",INDEX($B$14:$B$135,MATCH($D3,$N$14:$N$135,0),MATCH(C$2,$B$13:$B$13,0))) 該当の関数 =IF($B$3=F14,"該当","") 連番の関数 =IF(I14="","",COUNTIF($I$14:I14,"該当")) 仕入先の担当者や特徴をまとめた表を作りました。 B3のドロップダウンリストから抽出したい項目を選択しますと、C3~C10に表から該当する「仕入先名」が抽出されます。 ~困り事~ 抽出された後に、抽出された一覧(C3~C10)の中の1つを選択クリックすると表の該当箇所に移動(飛ぶ)する事は可能なのかどうか。 または選択された該当箇所が表の一番上に表示(移動)可能かどうか。 皆さんのお知恵を拝借出来れば幸いです。 宜しくお願い致します。

  • データの抽出する関数について

    データシートにデータが入っています。 A B   C D・・・・続く 1 鈴木 りんご 2 鈴木 みかん 3 渡辺 りんご 4 鈴木 りんご 5 山田 バナナ 6 渡辺 バナナ 続く 氏名シートのA2のセルに氏名を入れると、その氏名のデータを抽出するように式を考えていますがうまくいきません。 =IF(ISERROR(INDEX(データ!A1:$I$15,MATCH($A$2,データ!A1:$A$15,0),2))=FALSE,INDEX(データ!A1:$I$15,MATCH($A$2,データ!A5:$A$15,0),2),"") とA4に式を入れて、A2には鈴木と入れて試みると、鈴木は正常に全件抽出できても、渡辺や山田はMATCHのデータ範囲のせい?で正常に抽出できません。 どのような関数にすればいいかどなたかご教授ください!

このQ&Aのポイント
  • PC-FAXのドライバーがインストールできない
  • 質問者はWindows10 H21H1を使用していて、有線および無線LANで接続しています。Wi-Fiルーターの機種名は2.4GHzで、関連するソフト・アプリはすべてのアプリです。電話回線の種類はひかり回線です。
  • ブラザー製品のMFC-J6995CDWを2台利用中で、PC-FAXのドライバーのインストールができないという問題が発生しています。質問者の環境はWindows10 H21H1で、有線および無線LANで接続されており、Wi-Fiルーターの機種名は2.4GHzです。関連するソフト・アプリはすべてのアプリで、電話回線の種類はひかり回線です。
回答を見る

専門家に質問してみよう