エクセルにて重複する文字をまとめて、その値を計算したいのですが、
中々うまくいかなく困っております。
A B E F
1|リンゴ| 50円| |りんご| 150円|
2|みかん| 50円| |みかん| 250円|
3|ぶどう| 400円|→ |ぶどう| 400円|
4|みかん| 200円|
5|りんご| 100円|
上記の表(A,B)の様にランダムに同じ商品名と価格が表示されています。
Eには重複する商品名をまとめて表示し、Fにはその重複商品の合計の数字を計算して表示したいのですが、何か良いアドバイスは無いのでしょうか?
※条件は、A列は常に同じ商品名ではなく変更する事があります。マクロには商品名そのものは使えません。
※商品名(A)と価格(B)は「品名・価格登録シート」という別なシートから取得しております。
※マクロでの処理でも何でも良いですので何卒ご教授宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
私も#02さんと同様ピボットテーブルが一番簡単だと思いますが、関数式で実現する方法で回答してみます
まず質問の表でB列の値は「円」を取って数値のみに変更してください。(あるいは数値だけ入力してセルの書式で「#,##0円」にしましょう。そうしないと合計が出せません
E1の式は以下です。貼り付けて下方向にコピーしてください
=INDEX(A:A,LARGE(INDEX((MATCH($A$1:$A$5,$A$1:$A$5,0)=ROW($A$1:$A$5))*ROW($A$1:$A$5),),COUNT(INDEX(1/(MATCH($A$1:$A$5,$A$1:$A$5,0)=ROW($A$1:$A$5)),))-ROW(A1)+1))
でも4行目以降は#N/Aエラーになります。エラーを表示したくないなら式は長くなりますが、以下の式に差し替えてください。
=IF(COUNT(INDEX(1/(MATCH($A$1:$A$5,$A$1:$A$5,0)=ROW($A$1:$A$5)),))+1>ROW(A1),INDEX(A:A,LARGE(INDEX((MATCH($A$1:$A$5,$A$1:$A$5,0)=ROW($A$1:$A$5))*ROW($A$1:$A$5),),COUNT(INDEX(1/(MATCH($A$1:$A$5,$A$1:$A$5,0)=ROW($A$1:$A$5)),))-ROW(A1)+1)),"")
F2の式は
=SUMIF($A$1:$A$5,E1,$B$1:$B$5)
になります
ただし「リンゴ」「りんご」を同じ項目と見なすことはできませんのでご了承ください
ありがとうございます!!!
凄いです!
まさかINDEX、LARGE、INDEX、COUNT、MATCH関数の合わせ技でできるなんて考えもしませんでした。
※こりゃマクロでないとダメだなと思っていました。
かなり勉強になりました。
今回はファイルが重くなりますので、ピポットを使用したいと思います。
No.2
- 回答日時:
「ピボット」若しくは「統計」を使えば簡単です。
そちらのEXCELのバージョンが不明なので操作方法は省略します。
No.1
- 回答日時:
次の方法は如何でしょうか。
F1セルに=SUMIF(A:A,E1,B:B)として下方向にコピーして下さい。
因みにB列は数値と想定しています。
早速のご回答ありがとうございます。
私の質問内容が良くないですね。
問題はE列です。
(E)列は(A)列から取得します。←これが一番のネックです。
(A)列には“同じ名前の商品”があるので、同じ商品名は(E)にてまとめます。
(A)(B)列は「品名・価格登録シート」から取得しています。
※これは別シートで変更や追加ができる様にしています。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Excel(エクセル) 【エクセル関数】複数条件に該当する場合、別の列の数値を合算する。 9 2022/07/09 08:46
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- 国産バイク 大型バイク カワサキz900rsに付ける ヨシムラのマフラーの質問です、 【 商 品 I D 】14 2 2023/06/27 13:43
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで「-0.0」と表示さ...
-
【マクロ】シート名を取得する...
-
エクセルの条件付き書式につい...
-
【マクロ】毎回、ファイル名が...
-
エクセルで 例えば 伊藤と名前...
-
excel で二つのどちらかを選ぶ
-
Aというブックの1というシート...
-
Excel 2019 のピボットテーブル...
-
マクロの有効化するダイヤログ...
-
Excel元に戻す方法を教えてくだ...
-
写真のコピー
-
VBA Private Sub Worksheet_Cha...
-
【マクロ】フォルダからエクセ...
-
Excelでの時間帯の入力
-
文字列になっている時間をVBAで...
-
エクセルの順位別一覧表の自動...
-
Excelはなんで先頭の0を消すん...
-
行数が不規則な一週間ごとの合...
-
ある列、或いは、ある行のセル...
-
エクセルで特定の範囲内から小...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報