EXCEL合計について
Excelの関数についての質問です。
A列 B列
1行目 1-2-3 1200
2行目 2-3-1 800
3行目 4-5-1 400
4行目 3-2-1 2000
5行目 1-3-2 500
6行目 答え→ ( 4500 )
上記の表があり、B列6行目に条件に応じた計算結果を出したいです。
条件としては、1-2-3、2-3-1、3-1-2など、同じ数字で構成されているものであれば、順番が違っていても同じものとみなして合計します。
※1-2-3は文字列です。
※上記の表では、1-2-3でできる組合せの合計でB6に4500という答えを出してます。
思いつくままに関数を書いてみました。
=SUM(SUMIF(A1:A5,{"1-2-3","1-3-2","2-1-3","2-3-1","3-1-2","3-2-1"},B1:B5))
これでもできなくはないのですが、組合せをたくさん書くのがとても面倒で、
仮に、1-2-3-4 や、1-2-3-4-5 など組合せが多くなった場合はとても上記のやり方では対応できません。また、組合せは1桁だけでなく2桁(1-3-10)、3桁(5-80-100)も存在します。
前回こちらで以下の書き方をおしえていただいたのですが、
=SUMPRODUCT((ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),1,10)),A$1:A$5))*ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),100,10)),A$1:A$5))*ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),200,10)),A$1:A$5))),B$1:B$5)
こちらですと
1-12-3と1-2-3が同類とみなされて一緒に合計されてしまいます。
2桁以上でも対応できるやり方か、他にもっと効率の良い求め方があれば教えて下さい。
お礼
今少し手が空いたので、実際の大きな表で試してみて、問題なく動く事確認できました。 横に引っ張れば各列のデータがコピーできるので非常に助かります。 INDRECTの使い方が分かりました。 交点のセルを求めるのに使ってはいるのですが、応用と他の関数との組み合わせが何故か(というか実力不足で)動かないのが現状です。 本件は以前より試行錯誤して、あきらめて(A1-A500)とかを指定して統計値を使用しているのですが、シート(品種)ごとにデータ数が大きく違うので比較するのに無理があると思いながら使っていました。 ご丁寧な回答ありがとうございました。
補足
色々なご回答非常に参考になります。 一応すべてのご回答を試してみて、やはり最後の式が当方には一番わかりやすいのでこれを使うことにします。 うっかりしていましたが最初はデータ数が1個から始まり、シートによってはB列以降にもかなり横に大きな表もあり、各列の上部数行に平均、最大、最小、±3シグマ等々の統計値や説明行が入るので、ご回答の式では当方には扱いにくい。 そこで得意の(やはり)IFを使って =IF(COUNT(A:A)<30,SUM(A8:A37),SUM(OFFSET(INDIRECT("A"&COUNTA(A:A)+7),,,-30,1))) と不細工かもしれませんがこれでデータが30個以下でもデータにマイナスがあっても目的の統計値が得られるようです。 データのないセルは、入力漏れではないことの確認のために-を入れるルールになっていますので空白セルはありませんのでこれでいけると思うのですが。 今回のINDIRCTがよく分かりませんがOFFSETなのでCOUNTの後に上部の行数を入れてみたらうまくいきました。 今回も絶大なサポートのおかげで解決しました。 いつもこんな感じでお手数をおかけし申し訳ありません、大感謝!!