[[20250828093149]] 『SUMPRODUCTとVLOOKUPの組み合わせ』(Jpn) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『SUMPRODUCTとVLOOKUPの組み合わせ』(Jpn)

ある表に入力されている数値の合計を算出する式についてアドバイスお願いします。

やりたいこととしては要約の通り、「SUMPRODUCTとVLOOKUPの組み合わせ」になるかと思いますが、もし他の方法があればこだわりはないので教えていただけると幸いです。

 0  A  B  C  D  E  F   G   H  I

 1  1  1  1  1  1  1   60   1  10
 2  1  1  1  1  1  2   80   2  30
 3  1  1  1  1  2  2  100   3  100
 4  1  1  1  2  2  2       4  180
 5  1  1  2  2  2  2       5  250
 6  1  2  2  2  2  2       6  500
 7  2  2  2  2  2  2       7 1000
 8  2  2  2  2  2  3       8 2500
 9  2  2  2  2  3  3       9 6500
10  2  2  2  3  3  3      10 9999

上記のような表があり、A〜F列までがデータ、H,I列目がVLOOKUPで算出したい元になります。

内容としては、1の行で言うと
A1〜A6に「1」が入力されている。
「1」はH,I列目の表で言うと「10」になる。
1の行は1,1,1,1,1,1なので10+10+10+10+10+10で60になる。
この60をG列に表示する。

2の行は1,1,1,1,1,2、「2」は30になるので
10+10+10+10+10+30
10の行は2,2,2,3,3,3なので30+30+30+100+100+100
といった計算をしたいです。

VLOOKUPをしたうえでSUMPRODUCT?のようなことができればいいのですが、
マクロではなく関数で再現可能でしょうか?
単純に
=VLOOKUP(A1,H1:I15,2)+VLOOKUP(A2,H1:I15,2)+。。。
で再現可能ではあるのですが、もっとシンプルな関数があれば教えてください。

よろしくお願いします。

< 使用 Excel:Excel2021、使用 OS:Windows11 >


 Excel:Excel2021なら
=SUM(SUMIF(H:H,A1:F1,I:I))
=SUM(VLOOKUP(A1:F1,H:I,2,FALSE))
等
(はてな) 2025/08/28(木) 10:33:49

  A B C D E F G H  I  J K  L M
1 1 1 1 1 1 1 60 1  10  60  0  0
2 1 1 1 1 1 2 80 2  30  50 30  0
3 1 1 1 1 2 2 100 3 100  40 60  0
4 1 1 1 2 2 2 120 4 180  30 90  0
5 1 1 2 2 2 2 140 5 250  20 120  0
6 1 2 2 2 2 2 160 6 500  10 150  0
7 2 2 2 2 2 2 180 7 1000  0 180  0
8 2 2 2 2 2 3 250 8 2500  0 150 100
9 2 2 2 2 3 3 320 9 6500  0 120 200
10 2 2 2 3 3 3 390 10 9999  0 90 300
               1  2  3
               10 30 100

範囲 K11:M11 の左から右へ数値 1、2、3 を入力
K12: =VLOOKUP(K11,$H1:$I10,2,FALSE)
セル K12 を右方2列にオートフィル
K1: =COUNTIF($A1:$F1,K$11)*K$12
セル K1 を右方2列&下方9行にオートフィル
G1: =SUM(K1:M1)
セル G1 を下方にオートフィル
(Mike) 2025/08/28(木) 18:52:32


この機会に教えてください。
質問者のJpnさんが書かれた表は見事な並びなのに、私Mikeの表は実にオソマツです。
その原因は表示に使用されたフォント種の違いにあると思っています。
このサイトでは未だ新人の私が採るべきだった対策をどうか教えてください。m(_._)m
ちなみに、私の表をコピーして、MSゴシック使用のメモ帳で表示させたら、問題が解消することを確認済みです。
(Mike) 2025/08/29(金) 07:25:16

 書き込みの先頭を半角スペースで始めるといい。

aa bb cc dd

 aa  bb  cc  dd

 上記はどちらも書き込み時には文字の間をスペース2文字にしているが表示時には
 上のほうはスペース一文字に整形されていて表示フォントも異なっている。
 また上のほうでは自動改行されてしまうが下では入力したときの改行で表示される。

(ねむねむ) 2025/08/29(金) 08:39:59


 ねむねむさん、情報多謝です。m(_._)m
 そのこと、注意書きとして何処かで見たような気がしたので、探してみました。
 [初めての方へ]への[(5)Wikiに書き込む場合の整形ルール]の
 「行頭を半角スペースで始めると書き込みの改行位置が反映されます」
 でしょうか?
 でも此処では「改行位置」だけの“反映”のような?
 列毎に揃った姿にするには、各行毎に半角スペースで始めるべきと?
ちなみに以上の文の左端は半角スペースにしてみました。(「ちなみに」で始めた行は半角スペース無しです)
(Mike) 2025/08/29(金) 09:32:29

>(Mike) 2025/08/28(木) 18:52:32
その方法で、A〜F列に4以上があっても大丈夫なの?

SUMとSUMIFだけで簡単にできるのに
回りくどいとしか思えないようなことをするのかも
この機会に教えてください。
(三毛) 2025/08/29(金) 09:47:43


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.