• 締切済み

エクセルの関数について

エクセルに下記のようなデータがあります。 ------------------------------ カテゴリ 数値 A 100 F 350 J 200 J 200 F 350 C 1000 ------------------------------ これを関数で重複しているものを取り除き、 別のセルに下記のように表示させたいのですが、 何かよい方法はございますでしょうか。 ------------------------------ カテゴリ 数値 A 100 F 350 J 200 C 1000 ------------------------------ お手数かけまして申し訳ございませんが、 どうぞよろしくお願いします。

みんなの回答

  • msMike
  • ベストアンサー率20% (363/1782)
回答No.7

添付図参照 Sheet2 において、 式 =IF(COUNTIF(Sheet1!A$2:A2,Sheet1!A2)=1,ROW()) を入力したセル D2 を下方にズズーッと(8行目まで)オートフィル 式 =IFERROR(INDEX(Sheet1!A$1:A$7,SMALL(D$2:D$8,ROW(A1))),"") を入力したセル A2 を下方にズズーッと(8行目まで)オートフィル

tanaka8878
質問者

お礼

どうもありがとうございます! できます! 一点、お手数で申し訳ございませんが、 シートを分けない方法もありますでしょうか。 見よう見まねでやっていますが同じシートではうまくいかず、 できましたら教えてください。 どうぞよろしくお願いします。

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

ANo.2です > カテゴリと数値は対になっていまして、 > 「A」で「100」の場合は、必ず「A=100」になります。 > > 「A 100」を望みます! で、あればANo.2で、 F2セルに入れて下にコピーする式を↓にしてください =IFERROR(VLOOKUP(ROW(A1),A:C,3,FALSE),"")

tanaka8878
質問者

お礼

その節はご回答いただきましてどうもありがとうございました。 参考にさせていただきます。 お礼の連絡が遅くなりまして大変申し訳ございませんでした。

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

質問者のレベルでは、関数愛好者が多いようだが、下記の説明で、関数だと、どこがややこしいのか実感してみて。参考に勉強してもらう為の投稿です。 ーー 操作でおこないう ・ピボットテーブル ・データ」-フィルタオプションの設定ー重複するレコードは無視する が簡単なんだが、ほとんどの今までの質問者は、耳を貸さない。 ーー 似たような質問があって、その例を使うと データ例 A1:B8 A列 B烈  D列 E列 100 A-11   A-11  110 150 C-15   C-15  180 250 K-78   K-78  350 300 N-17   N-17  300 100 K-78 30 C-15 10 A-11 30 A-12   A-12  30 D列のD1セルの関数は =IF(COUNTIF($B$1:B1,B1)=1,B1,"") これで内容的には、重複のないデータがリストされた。E列はその係数合計を SUMIF関数で出したもの。 E1セルの関数は=IF(D1="","",SUMIF($B$1:B1000,D1,$A$1:$A$1000)) 問題は途中に空白行が混じることだ。 これを省くのが、関数ではむつかしい。1発ではむつかしい。 作業列を余分に1列使って、上行からの連番を振っても良いなら、やや考えやすくなる。連番に基づいて、持って行く行を決めればよいから。 作業列が嫌なら、仕方なく http://office-qa.com/Excel/ex257.htm 方法3 などの、配列数式を使う案が提案される。配列数式など、質問者は、聞いたことあるかな。

tanaka8878
質問者

お礼

imogasiさま、どうもありがとうございます。 エクセルは好きですが、ピポットと聞いただけで拒絶反応が、、、 今回imogasiさまの他にもピポットを勧めれており、少し勉強をしてみようかと。 配列数式もわかりません。。。 ちょっとこちらも勉強してみます。 本当にどうもありがとうございます。

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

ANo.2です。 「重複している物を除く」と言う条件を見落としていました。 この重複はカテゴリに関してですか?カテゴリ+数値ですか? 具体的に言うと、 A 100 A 200 と、言うデータが有った場合、望んでいる答えは、「A 100」「A 300」どちらでしょう?

tanaka8878
質問者

お礼

その節はご回答いただきましてどうもありがとうございました。 参考にさせていただきます。 お礼の連絡が遅くなりまして大変申し訳ございませんでした。

tanaka8878
質問者

補足

皆さま説明不足でごめんなさい、 カテゴリと数値は対になっていまして、 「A」で「100」の場合は、必ず「A=100」になります。 「A 100」を望みます! どうぞよろしくお願いします。

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

Q、何かよい方法はございますでしょうか? A、SQL文を発行する。 https://kaya-soft.com/sqlserver2008-toranomaki/beginner/groupby/ >Select F2, Sum(F1) FROM [Sheet8$A1:B6] Group By F2 Order by f2  このSQL文の戻り値は、添付図のようです。後は、これを行単位と列単位で抜き出せば目的を達成できます。SUMIF関数では、これは無理だと思います。ですから、ピボットテーブルという手を使うしかないと思います。ただ、式一発で目的を達成しようとすれば、SQL文を発行して結果を得る関数を利用するしかないのでは。と、思います。まあ、Excel は操作したこともないド素人の考え。もしかしたら、可能かも知れません。が、相当に複雑怪奇な式になると思います。で、仮に、SQLという手法でもよければ、DSelect()を紹介します。  

tanaka8878
質問者

お礼

その節はご回答いただきましてどうもありがとうございました。 参考にさせていただきます。 お礼の連絡が遅くなりまして大変申し訳ございませんでした。

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

ピボットテーブルを使えばすぐですが、どうしても関数と言うなら…… 添付の図では、A2セルに↓の式を入れて下にコピー =IF(AND(COUNTIF(B$1:B2,B2)=1,B2<>""),MAX(A$1:A1)+1,"") E2セルに↓の式を入れて下にコピー =IFERROR(VLOOKUP(ROW(A1),A:C,2,FALSE),"") F2セルに↓の式を入れて下にコピー =IF(E2<>"",SUMIF(B:B,E2,C:C),"") こんな感じで如何でしょう

tanaka8878
質問者

お礼

その節はご回答いただきましてどうもありがとうございました。 参考にさせていただきます。 お礼の連絡が遅くなりまして大変申し訳ございませんでした。

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

ピボットテーブルを使ってみてください。

tanaka8878
質問者

お礼

その節はご回答いただきましてどうもありがとうございました。 参考にさせていただきます。 お礼の連絡が遅くなりまして大変申し訳ございませんでした。

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

関連するQ&A

  • エクセル関数

    エクセルで下記のように数字とカテゴリ名が並んでおります。 カテゴリ名は種類は時間の経過とともに増えていきます。 ------------------------------ 100 A-11 150 C-15 250 K-78 300 N-17 100 K-78 30 C-15 ------------------------------ エクセルの関数を利用して下記の通りカテゴリ毎に集計をかけることは可能でしょうか。 ------------------------------ A-11:100 C-15:180 K-78:350 N-17:300 ------------------------------ お手数で申し訳ございませんが、 どうぞよろしくお願いします。

  • エクセル 2003 関数

    エクセル 2003 関数 お世話様です。 XPのエクセル2003にてセルA1に数値の3を入れております。 これをセルC5の文字間に関数値として挿入する事は可能でしょうか? 例: セルA1に数字の3、セルC5に【カウントです。】と入力されていたら    【カウント3です。】となります。 セルA1の数値によってセルC5の入力内容が変わるようにしたいのですが 可能でしょうか? お手数ですが、ご存知の方がいましたらご教授下さい。 以上、何卒宜しくお願い致します。

  • エクセル関数について

    エクセルの関数について質問です。 例えば、 C1セルには、数値データが入っています。 A2~A10セルに日付データ。 B2~B10セルに数値データが入っている表があります。 B11セルの値に、(C1データ)-(A列の最新日付セルと同行のB列データ)を表示させたい場合、 どのような関数を作成すればよいですか。 宜しくお願いします。

  • エクセルの関数を教えてください。

    セルHにIFとANDを使って下記内容の関数式を入力したいです。 セルAからセルF内すべてに数値が入っていたらセルFを返す、 セルFが空欄ならばセルEの数値を返す、 セルEも空欄ならばDの値を、 Dも空欄ならばCの値を、Cも空欄ならばBの数値を、 Bも空欄ならばAの数値を返し、 Aも空欄(つまりAからF内に数値なし)ならばスペースを返す。 わかる方、教えてください。 よろしくお願いします。

  • エクセルの関数で非常に困っています

    エクセルの関数で質問です。 添付に記載していますが、 次の三つの条件を満たす式を教えていただきたいです。 (データ入力規制を使用すれば有りがたいです) 1. A3セルに150~200の数値の場合は F3セルに 12 のみが入力できる 2. A3セルに200~265の数値の場合は F3セルに 14 のみが入力できる 3. A3セルに290~315の数値の場合は F3セルに 16 のみが入力できる  A3セル数値が一部かぶる数値の場合 F3に両方(12 or 14)が入るようにしたいです 宜しくご教示の程お願いいたします。

  • エクセル関数について

    エクセル関数について質問です。 簡単に説明すると特定のセルに特定の数値を入力するとその行の別のセルの数値を別のセルに表示させたい。 たとえば     A      B       C 1  100            2  200      1      100 3  300      1      300 4  400 5  合計            400 上記の様になっていた場合 A列は定数で固定です。B列のセルに1と入力(1でなくてもよい)した行のA列の数値を Cに表示したいのですが、 C列にどの様な関数を使ったらいいんでしょうか?宜しくお願い致します。

  • Excelの関数について

    エクセルの関数を教えて下さい。 できあがりの図 名前 該当 --------- A  * B C  * D E F  * 名前  --------- A   B C   D E F   という、データと 名前 ------- A C F というもう一つのデータをマージさせ 重複しているものに「*」をつけ、 出来上がり図を作りたいのですが、 「該当」列にはどのような関数を入れればいいのでしょうか。 ご教示下さい。

  • Excel 関数について

    Excel 下記のような場合、どのような関数及び対応したらいいのでしょうか。参考になる、サイトなどありましたら、教えてください。 例 E2に、D2と同じ値のあるセルをA2~C2から探し、同じ値のある、セルの1行上にある数値をE2に返す関数は、あるでしょうか。

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

    エクセルの関数についてお尋ねします。 数値の40を超えた場合は、超えた分だけ隣のセルに表示させたいです。 A1に48と打ち込んだ場合はB1に40 C1に残りと8と表示させたいです。 A1に38と打ち込んだ場合は40を超えていないのでB1には38 C1には0もしくは空白を表示させたいです。 決められた数値以上の場合は決められた数値と超過分の数値を別々のセルで表示をしたいです。 わかりにくい説明で申し訳御座いません。

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

このQ&Aのポイント
  • 迷惑メールに関して送信元が自身のアドレス(偽装)で送られてくる問題が発生しています。これは私のメールアドレスやアカウントが不正利用されている可能性があるのでしょうか?
  • ぷららのwebメールを利用している際に、迷惑メールの送信元が自身のアドレス(偽装)で送られてくる問題が起きています。これにより私のメールアドレスやアカウントが不正利用されている可能性が懸念されます。
  • 「ぷららwebメール」を使用していて、迷惑メールが送信元を偽装して届いている問題に直面しています。この問題によって私のメールアドレスやアカウントが不正利用されているかもしれません。
回答を見る

専門家に質問してみよう