• ベストアンサー

等しくない値の場合別のシートへ抽出(関数使用)

はじめまして。関数初心者です。 「見積一覧」と言うシートに各お客さんに出した 見積金額や内容が記載された表があります。   A      B       C       D       E 1 No.  見積番号 見積提出先 見積金額  決定金額 2  1    001     A社     1,200円    1,200円 3  2    002     B社     1,500円    1,300円 4  3    003     C社     2,000円    2,000円 5  4    004     A社     1,400円    1,200円 D列の「見積金額」とE列の「決定金額」が等しくない場合、 そのデータすべてを別のシートに抽出し、 「金額変更有り」の一覧として使いたいのです。   A      B       C       D       E 1 No.  見積番号 見積提出先 見積金額  決定金額 2  2    002     B社     1,500円   1,300円 3  4    004     A社     1,400円   1,200円 4 5  表を加工するように頼まれたのですが、技術が足りないので お力かしていただけませんでしょうか? どうぞよろしくおねがいいたします。

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

  • ベストアンサー
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.2

A2に =INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$D$2:$D$5<>Sheet1!$E$2:$E$5,ROW($A$2:$A$5)),ROW(A1))) 配列数式です。  式を入力して、Ctrl+Shift+Enterで確定してください A列のNoが昇順で重複がない場合はもっと簡単に出来ると思います。 また、エラー処理はしていません。

HARRYDASU
質問者

お礼

A列のNoが昇順で重複がなかったので すぐに行いたい処理が出来ました。 ご回答ありがとうございました。

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

その他の回答 (3)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.4

作業用列を使用した方が理解しやすいと思います。 Sheet1のF2に =IF(D2<>E2,MAX(F$1:F1)+1,"") といれ 下にコピー A2 =INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!$F:$F,0))

HARRYDASU
質問者

お礼

ご回答ありがとうございます。 はじめの回答していただいたもので 出来そうです。 今日中に表を作らなくてはいけなくて、 朝依頼を受けて、途方にくれていました。 おかげさまで出来そうです。 あとで、こちらの方も試してみます。 本当に助かりました。ありがとうございます。

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

No.1の回答で訂正があります セミコロン→コロン

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

1.F列に見積金額-決定金額を求める 2.オートフィルタを使用し、F列が0以外のものを抽出 3.表の中のどこか1箇所をクリックし、ctl+shift+セミコロンを同時に押し表全体を選択。 4.編集>ジャンプ>セルの選択>可視セル>OKで抽出した セルだけを選択 5.選択されているセルの部分で右クリックをし、コピー 6.別のシートに形式を選択して貼り付けをする 7.F列を消す

HARRYDASU
質問者

お礼

早速の回答ありがとうございました。 こういうやり方もあるのですね。 参考にさせて頂きます。

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

関連するQ&A

  • エクセル合計値について

    こんばんは。 エクセルの合計値の件で、困っております。 今現在は下記の表のように、「見積一覧」と言うシートに 「見積金額」・「決定金額」・「決定金額÷見積金額」 等が入力されており、C列・D列にはそれぞれの縦の合計と、 「決定金額/見積金額」 のところには、合計の金額を拾って 「2,300円(D5)÷6,000円(C5)」 となっています。   A      B       C       D       E 1 No.  見積提出先 見積金額  決定金額  決定金額/見積金額 2  1    A社     2,000円     空欄     3  2    B社     1,000円     800円    80% 4  3    C社     3,000円    1,500円     50%  ------------------------------------------------ 5 合計          6,000円    2,300円    38.3% この場合、全部の金額が埋まっていればいいのですが、 D2のように決定金額がまだ決まっていない時は、空欄になり、 合計に反映されない為、E5には「D5÷C5」と言う計算が入力 されている為、当然ながらE5の合計欄に正しい値が入りません。 ということで、考えた結果、E5もしくはE6に 「決定金額」が入っている場合の見積金額の合計が出せるように したいな。と思っています。 もしくは、もっと違った手法で、 何かいい案がございましたら、教えていただきたいと思います。 ちょっとあいまいな質問ですみません。 どなたか、お力かしてください。 よろしくおねがいいたします。

  • 別シートから値のある行を検索し、別シートに転記

    シート1とシート2があり、 シート1のA7がシート2のB列にあり、シート1のB20がシート2のその行のD列の値と同じ場合、シート2該当行のF列の値をシート1のL20に書き込むのですが、どのようにマクロを記述すればいいでしょうか 例えば、 シート1のA7に「A社」、B20に「商品A」があり、 シート2のB10に「A社」が、D10に「商品A」がある場合、F10の値をシート1のL20に返す方法です。 シート2のB列には「B社」や「C社」もあるため、B列の中からシート1のA7と合致する行を検索することになります。

  • EXCEL 2枚のシートの比較・抽出(別パターン)

    iwao32と申します。 EXCELについてお教え下さい。ど素人なので、なるべく詳しくお教えいただけると幸いです。 先日同じような質問をさせていただいたのですが、別パターンの質問です。 以下の例で示します。 Sheet1                        Sheet2 A列    B列    C列              A列 3      30     c               2 5      50     e               4 1      10     a               5 4      40     d  2      20     b という2枚のSheetがあるとき、Sheet1のA列とSheet2のA列を比較して、Sheet1の中で、Sheet2のA列にあるものだけ、Sheet3に、 Sheet3 A列    B列     C列 2      20      b 4      40      d 5      50      e というものを作りたいのですが、やり方をお教え下さい。 よろしくお願いいたします。

  • エクセルで別シートに抽出

    エクセルで同じBOOKに以下のようなシートがあります。 【sheet1】 A B C D E… 5 7 8 9 3… 3 3 6 5 6… 【sheet2】 A B C D E… 2 7 8 5 3… 6 3 9 5 7… 【sheet3】 A B C D E… 1 8 5 7 6… 1 3 8 5 7… こんなシートがsheet1~sheet50まであり、これを 【sheet51】に A A A  5 2 1 3 6 1 【sheet52】に B B B 7 7 8 3 3 3 のようになるだけ簡単に抽出したいのですが… どなたか、よろしくお願いします。

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?

  • 二つの検索値から別のシートに抽出する

    WinXP,Excel2000 下記のような表から例えば氏名コード(A列)103番と 日付(B列)2006/5/3からE列のデータ3.50を導きたい のですが、この場合検索値がA列・B列と2つあるので 同じシートに答えを出す場合は F3=SUMPRODUCT((A1:A9=F1)*(B1:B9=F2)*E1:E9)で できるのですが、別のシートに抽出するにはどうしたら よいでしょうか。ご教授ください。<m(__)m> A列 B列 C列 D列 E列    F列 1 100 2006/5/3 東京 8:10 8.00   103 2 101 2006/5/3 名古屋 9:10 7.25  2006/5/3 3 102 2006/5/3 大阪 7:45 5.00   3.50 4 103 2006/5/3 京都 10:30 3.50 5 104 2006/5/3 札幌 8:40 4.75 6 100 2006/5/4 福岡 8:45 5.00 7 101 2006/5/4 東京 9:05 6.25 8 103 2006/5/4 大阪 8:15 1.50 9 105 2006/5/4 横浜 10:15 3.00

  • EXCEL(2枚のSheetの比較・抽出)

    iwao32と申します。 EXCELについてまた教えてください。(まだまだど素人で、基本的な質問で申し訳ありません。) 以下の例で示します。 Sheet1                        Sheet2 A列     B列     C列           A列 1       10      a            2 2       20      b            4 3       30      c            5 4       40      d 5       50      e という2枚のSheetがあるとき、Sheet1のA列とSheet2のA列を比較して、Sheet1の中で、Sheet2のA列にあるものだけ、Sheet3に、 Sheet3 A列     B列     C列 2       20      b 4       40      d 5       50      e というものを作りたいのですが、やり方をお教えください。 よろしくお願いいたします。

  • sheet1、sheet2の値をsheet3に集めたい。

    エクセルについて教えてください。 山田君のテストの結果 sheet1に、中間テスト結果A1B1C1D1E1、 sheet2に、期末テスト結果A1B1C1D1E1があり、 sheet3のA1B1C1D1E1、A2B2C2D2E2に 移動させていと考えています。 されに、小島さんのテスト 中間テスト結果が、sheet1のA2B2C2D2E2、 期末テスト結果が、sheet2のA2B2C2D2E2 にあり、それら2つを sheet3のA3B3C3D3E3、A4B4C4D4E4 に続けて移動させたいです。 実際は、2人だけではなく、 約200人以上を続けてsheet3に集めたいと思っています。 連続的に集めるためには、 どうすればよいか教えてください。 よろしくお願いします。

  • 条件にあう複数の行を別のシートに抽出する

    例 データ Sheet2のA1に(条件の)2 Sheet1 A列  B列  C列  D列 コード 名前 計数 1 A 12 2 B 13 1 2 B 14 2 4 D 15 5 E 16 6 F 17 2 B 18 3 3 C 19 5 E 20 D列は =IF(A2=Sheet2!$A$1,MAX($D$1:D1)+1,"") 下方向に式を複写。 Sheet2に行って =INDEX(Sheet1!$A$1:$D$100,MATCH(ROW()-1,Sheet1!$D$1:$D$100,0),COLUMN()) 式を右方向に式複写 A2:C2の式を下方向に式複写。 結果 2 2 B 13 2 B 14 2 B 18 #N/A #N/A #N/A ーー #N/Aを空白にするには ROW()-1がSheet1のD列のMAXを超えていると空白と いうIF文を加えると良い。   以前、上記のように質問のご回答を頂いたのですが、更に質問があって再度聞きたくて、再質問します。上記の場合は、「2」だけでしたができました。それで後の2以外の「1~6」について、Sheet3・4・5・6・7に抽出したいと思いますが、関数では無理でしょうか。初心者で色々な記事もみますがよくわかりません、お教え下さいませんでしょうか、お願いします。

  • EXCEL関数/別シートのセル番地をセルの値で指定

    お世話になります。 どうしてもわかりません… エクセル名人の皆様、どうかお知恵をお貸しくださいませ。 Sheet1に下記のようなデータが約5000件あります。   A  B  C   D … BP  … 1 No. ID. 品目 月日…状況 … 2 1 a33  A  3/4   0    3 2 a87  B  5/11  1   このうち、BP列が1のもの約900件のみがSheet2に抽出されています。 (このためのマクロについて前回質問させていただきました) Sheet2:   A  B  C   D   E  F  G  … 1 No. ID 品目 月日             2 2  a87  B  5/11              3 7  b3  K  2/5 4 18 c44  F  12/1 5 11 r93 J 7/28 ちなみにA列のNo.は1,2,3,…と続く通し番号で、だぶりはありません。 Sheet1のデータの項目数は大変多いのですが、Sheet2にはその項目すべては必要でないため、 Sheet2には上記のとおりAからD列までの必須情報のみ抽出し、 E列以降の情報については、必要な列の情報のみ、 A列の通しNo.で紐づけしてVLOOKUP関数で取得したいと考えています。 しかし、Sheet1の表には空欄があり、これを空欄のまま表示させるために IF関数を使いたいのですが、 Sheet1の参照元のセルの番地をどう書けばいいでしょうか? とてもわかりにくくて申し訳ありません… たとえば、Sheet2のA列が18であれば(上記Sheet2のA4)、 元データはSheet1の19行目にあることになります。  A列の数値+1、が行番号ということです。 そのK列を参照する場合、 =IF(Sheet1!K19="","",VLOOKUP(A4,Sheet1!A:K,COLUMN(K4),FALSE) となるかと思うのですが、 このSheet1!K19 というセル番地を、自分で計算して手入力するというのはとても大変なので、 関数などで表現する方法はないでしょうか。 たとえば、Sheet1!K(A4+1) とか書いてみましたが、もちろんこれでよいわけもなく… 不勉強で恐縮ですが、どうしてもわかりません。 どうかご教授ください。 よろしくおねがいいたします。

このQ&Aのポイント
  • パート社員からの言いがかりに困っています。私よりも年上で勤務歴も長い彼は、休みが多く短時間勤務です。
  • 彼は他の社員に私が他の作業をせずに時間を稼いでいると告げ口していますが、実際は前日からの作業の残りを先にやっていただけです。
  • 私は彼に直接言われたわけではないので、どう対応すればいいか迷っています。
回答を見る

専門家に質問してみよう