[[20231117150608]] 『コードごとに合計行を挿入(?)したい』(みたらし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コードごとに合計行を挿入(?)したい』(みたらし)

sheet:作業 →完成しています。作業列を増やすことも出来ます。

       A        B          C          D        E
 1   No.    日付    商品名    金額 コード
 2    1      11/1    りんご     300    123
 3    2      11/1    みかん     100    123
 4    3      11/4    りんご     300    123
 5    1      11/3    いちご     500    456
 6    2      11/9    みかん     100    456
 7    3      11/30  りんご     300    456

A列はコードが同じ番号なら1から連番

sheet:請求書 →ここでつまづいています。
合計行以外は作業シートから引っ張ってきています。
同じコードごとに合計行を追加しなければいけないのですが
条件があり、合計行の場所は各コードの先頭でも最後でも(パターン1でもパターン2)構わないですが、No.に「0」を表示することとなっています。

パターン1(合計が先頭)

       A        B          C          D        E
 1   No.    日付    商品名    金額 コード
 2    0                              700    123  → 0・合計額・コードすべて必須
 3    1      11/1    りんご     300    123
 4    2      11/1    みかん     100    123
 5    3      11/4    りんご     300    123
 6    0                              800    456
 7    1      11/3    いちご     500    456
 8    2      11/9    みかん     100    456
 9    3      11/30  りんご     300    456

パターン2(合計が最後)

       A        B          C          D        E
 1   No.    日付    商品名    金額 コード
 2    1      11/1    りんご     300    123
 3    2      11/1    みかん     100    123
 4    3      11/4    りんご     300    123
 5    0                              700    123
 6    1      11/3    いちご     500    456
 7    2      11/9    みかん     100    456
 9    3      11/30  りんご     300    456
 9    0                              800    456

作業シートでデータ→小計をするのは請求書シートで小計行が一つ飛ばしで表示されずうまくいきませんでした。
(実際は30列×1000行の表なので飛んだ分を毎回オートフィルタで関数を入れ直すのは現実的ではないと思いました。)
このファイルをアップロードして使用するのでピボットテーブルは使えません。
相手のシステムの都合上マクロ付きのブックは使えないので関数でどうにかできればと思っていますが何かいい方法はないでしょうか・・・
ご教示いただけると幸いです。

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


 >相手のシステムの都合上マクロ付きのブックは使えない
この理由が「拡張子.xlsmがダメ」なら、「マクロ付で拡張子.xlsを使う」というのはどうでしょう。
(kakko) 2023/11/17(金) 17:35:56

 ----------- 作業 シート -----------

 (1) AF2セル =AI2#*0
 (2) AG2セル =REPT("",AF2#*SEQUENCE(1,2,1,0))
 (3) AI2セル =SUMIF(E:E,AJ2#,D:D)
 (4) AJ2セル =LET(r,E2:INDEX(E:E,COUNT(B:B)+1),UNIQUE(FILTER(r,r<>"")))

 <結果図>
 行 _A_ ____B____ ___C___ __D__ ___E___::   _AF_ _AG_ __AH__ _AI_ __AJ__
  1 No. 日付      商品名  金額  コード ::   No.  日付 商品名 金額 コード
  2   1   11月1日 りんご   300     123 ::      0              700    123
  3   2   11月1日 みかん   100     123 ::      0              900    456
  4   3   11月4日 りんご   300     123 ::      0              777    500
  5   1   11月3日 いちご   500     456 ::                               
  6   2   11月9日 みかん   100     456 ::                               
  7   3  11月30日 りんご   300     456 ::                               
  8   1   11月1日 りんご   777     500 ::                               

 ----------- 請求書 シート ---------------
 (1) A1セル =作業!A1:E1
 (2) A2セル =SORT(VSTACK(作業!A2:INDEX(作業!E:E,COUNT(作業!B:B)+1),作業!AF2:INDEX(作業!AJ:AJ,COUNT(作業!AJ:AJ)+1)),5)

 < 結果図>
 行  _A_  ____B____  ___C___  __D__  ___E___
  1  No.  日付       商品名   金額   コード 
  2    1    11月1日  りんご     300      123
  3    2    11月1日  みかん     100      123
  4    3    11月4日  りんご     300      123
  5    0                        700      123
  6    1    11月3日  いちご     500      456
  7    2    11月9日  みかん     100      456
  8    3   11月30日  りんご     300      456
  9    0                        900      456
 10    1    11月1日  りんご     777      500
 11    0                        777      500

(半平太) 2023/11/17(金) 20:54:50


お礼が遅くなりすみません。

半平太さま ありがとうございます。
ばっちり思っていた形になりました!
初めて見る関数もあるので少しずつ理解していきたいと思います。

kakkoさま マクロ付で拡張子.xlsを使うというのは思いつきませんでした。
システムが試用期間中なのでこちらも試してみます!
(みたらし) 2023/11/20(月) 15:40:15

コメント返信:

[ 一覧(最新更新順) ]


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