とっておきの手土産を教えて

エクセルの関数が分からないので賢者のみなさま教えてください。

画像のように、A列にNo.・B列に購入したフルーツの種類(※10種類)・C列に日付・D列に金額 が入っている表があり、
その表を参照して品名別の購入金額をF列以降に出したいのですが、
画像のように抽出を7行ずつに分け、かつ、重複しないようにする方法が分からず上手くいきません。

抽出をF列とI列に分けずに続きでするとうまくいくのですが、抽出を分けたらどうしてもI列のイチゴ以降からエラーになります。

ただ、印刷の都合上、どうしてもF列とI列に分けたいので、詳しい方教えてください!

「エクセルの関数ついて」の質問画像

質問者からの補足コメント

  • 品名を重複せずに7つずつ分けて抽出したいんです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/11/01 15:11

A 回答 (6件)

作業列を用意すれば可能だと思います。


https://www.officeisyours.com/entry/2024/08/20/1 …

例えば、E列に白文字での見えないようにした作業列を作成します。
E2セルに
 =IF(COUNTIF(B$2:B2,B2)=1,ROW(),"")
といれて、必要な範囲までドラッグします。
F2セルに
 =IFERROR(INDEX(B:B,SMALL(E$2:E$15,ROW(A1))),"")
を入れて7つになる範囲までドラッグ。
I2セルに
 =IFERROR(INDEX(B:B,SMALL(E$2:E$15,ROW(A8))),"")
を入れて7つになる範囲までドラッグ。
G列とJ列はSUMIF関数で抽出した品名で合計を出します。
 =SUMIF($B$2:$B$15,F2,$D$2:$D$15)
 =SUMIF($B$2:$B$15,I2,$D$2:$D$15)

上記のように作業列で重複しない項目を作成すれば、合計を出すのも
簡単になります。

添付画像では、E列の白文字が分かるように塗りつぶししていますが、
塗りつぶしなしなら、印刷されることはありません。
「エクセルの関数ついて」の回答画像4
    • good
    • 0

G2: =SUMIF(品名,F2,金額)


I2: =SUMIF(品名,I2,金額)
添付図参照(Excel 2019)
「エクセルの関数ついて」の回答画像6
    • good
    • 0

こんばんは



スピル機能のあるバージョン対象で良ければ・・

F2セルに
 =INDEX(UNIQUE(FILTER(B2:B99,B2:B99<>"","")),ROW(1:7))
I2セルに
 =INDEX(UNIQUE(FILTER(B2:B99,B2:B99<>"","")),ROW(8:10))
を入力すればスピルされます。

※ 表示順序は出現順になります。
※ 抽出される数が不定の場合は、
 =COUNTA(UNIQUE(FILTER(B2:B99,B2:B99<>"","")))
で重複を除いた全体数が得られますので、これを利用して表示する個数を調整してください。
    • good
    • 1

確認  


品名の入るB列に 何の品名が有るのも
F列・I列に抽出したいのですか?

10種類しかないのなら、画像の様に全品目 F列・I列に入れ
SAMIF関数で、出すだけですが

10種なら7行じゃなく、5行の方が見やすいけどね
    • good
    • 0

たぶん、G列の合計式をJ列にコピーした際のズレ発生だと思います。


G列の合計式と、J列の合計式を比較すれば、その違いが判るはずです。
    • good
    • 0

??? 普通にsumifでよいのでは?

この回答への補足あり
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A