[[20240416150351]] 『2個飛ばしで範囲指定したい』(素焼き) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『2個飛ばしで範囲指定したい』(素焼き)

セルA2A2で指定月を入力し、
開始月の4月から指定月までの合計をセルA4に表示するため、
計算式=SUM(TAKE(B3:AM3,,XMATCH(A2,B2:AM$2)))を作りました。
セルA4には、計算結果「120」が入ります。、
セルB4で前年の4月から指定月までの合計「150」を求めるには、
どのような式を書けばよいか教えてください。
2行目の4月から12月までは、1行下の「2024」「2023」でセルが結合されています。この状態では無理なのでしょうか?

  A____B____C____D____E_____F_____G_____H
1_5月									
2_年間______4月_______5月_______6月______
3_2024_2023_2024_2023_2024_2023_2024_2023
4_120________150___80___70___30___60___40

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


 なんか質問内容がよくわかってませんけど、勘で
 どことどこを足したら120なんですかね?

 =LAMBDA(m,y,LET(検索範囲,C3:OFFSET(XLOOKUP(m,C2:R2,C3:R3),0,1),合計範囲,C4:OFFSET(XLOOKUP(m,C2:R2,C4:R4),0,1),SUMIF(検索範囲,y,合計範囲)))(A1,A3:B3)
(´・ω・`) 2024/04/16(火) 15:53:47

 レイアウトがよく分からないですね。

 >計算式=SUM(TAKE(B3:AM3,,XMATCH(A2,B2:AM$2)))
 その数式は3行目のデータを集計していますよね?
 でも、図の3行目って年度でしょ? 食い違っていませんか?

 セル結合があるらしいですが、具体的に何セルと何セルが結合しているんですか?
 (一部分でいいので教えてください)

(半平太) 2024/04/16(火) 15:59:40


レイアウトと質問内容をちゃんと書けよ。
何で120になって、何で150になるのかもさっぱり分からん。

>セルA2A2で指定月を入力し、
も、「セルA2A2」とかになってるし、月を指定しているのはセルA1だし。
しっかりしろ!

(AZ) 2024/04/16(火) 16:11:33


 こうだとして
   |   A   |   B   |   C  |   D  |  E   |  F   |  G   |  H   |   I  |   J  | 
 1 | 5月   |       |      |      |      |      |      |      |      |      | 
 2 |      年間     |     4月     |     5月     |     6月     |     7月     | 
 3 | 2024  | 2023  | 2024 | 2023 | 2024 | 2023 | 2024 | 2023 | 2024 | 2023 | 
 4 |       |       |  150 |  80  |   70 |   30 |   60 |   40 |      |      | 

 A4セルに2024年の4月〜5月の合計(C4+E4)
 B4セルに2023年の4月〜5月の合計(D4+F4)
 として、
 A4セルは220 B4セルは 110
 でよろしいか?
(´・ω・`) 2024/04/16(火) 16:23:26

 =BYCOL(TAKE(WRAPROWS(C4:R4,2),(XMATCH(A1,C2:R2,0)+1)/2),LAMBDA(col,SUM(col)))
 とか
(´・ω・`) 2024/04/16(火) 16:28:39

みなさん ごめんなさい 図がめちゃくちゃでした。
´・ω・`さんの推測していただいたとおりです。ありがとうございます。
勉強のため教えていただきたいのですが、3個飛ばしで集計する場合は、A4セルへ入れる式は、
下記式をどのように変更すれば良いのでしょう。

   |   A   |   B   |   C  |   D  |  E   |  F   |  G   |  H   |   I  |   J  |  K   |  L
 1 | 5月   |       |      |      |      |      |      |      |      |      |      |
 2 |         年間         |         4月        |        5月         |         6月             
 3 | 2024  | 2023  |   %  | 2024 | 2023 |  %   | 2023 | 2024 |  %   |  2024| 2023 |  %
 4 |       |       |      | 150  |   80 |      |   70 |   30 |      |    60|   40 |

=BYCOL(TAKE(WRAPROWS(C4:R4,2),(XMATCH(A1,C2:R2,0)+1)/2),LAMBDA(col,SUM(col)))

差分をみてどこをとらえているのかイメージできればありがたいです。
(素焼き) 2024/04/16(火) 19:01:24


 回答を理解するプロセスをすっ飛ばして次々質問する人に回答する気になれないので私は失礼します
(´・ω・`) 2024/04/16(火) 20:13:38

 別案
  2列セットの場合 =SUMIF(C3:XLOOKUP(A1,C2:AY2,D3:AZ3),A3:B3,C4)
  3列セットの場合 =SUMIF(D3:XLOOKUP(A1,D2:BY2,E3:BZ3),A3:B3,D4)

(半平太) 2024/04/16(火) 21:55:25


半平太さん 諦めようかとしていましたが前に進めました。
このような関数の組み合わせができるのですね!
つたない私の知識でもなんとか理解が追いつきました。
ありがとうございます。
(素焼き) 2024/04/17(水) 08:07:54

VBAで貼りつけた数式に「@」がつくのを回避する方法がありますでしょうか
半平太さんに教えていただいた数式 =SUMIF(D3:XLOOKUP(A1,D2:BY2,E3:BZ3),A3:B3,D4) を
Sub test()
Range("A4").Formula = "=SUMIF(D3:XLOOKUP(A1,D2:BY2,E3:BZ3),A3:B3,D4)"
End Sub
として貼りつけてみたところ、A4セルには =SUMIF(D3:XLOOKUP(A1,D2:BY2,E3:BZ3),@A3:B3,D4) と
「@」が付きB4セルに値が表示されませんでした。
手動で「@」を消せば表示されるのですが何か良い方法がありますでしょうか。
(素焼き) 2024/04/17(水) 10:13:16

横からですが何点か。

■1
この話は↓からの続きですよね?
[[20240415180207]] 『XMACHIの使い方』(素焼き)

関連しているならわざわざトピックを分ける必要は無かったと思います。

■2
VBAで貼りつけた〜

 Sub test()
     Range("A4").Formula2 = "=SUMIF(D3:XLOOKUP(A1,D2:BY2,E3:BZ3),A3:B3,D4)"
 End Sub

↑のように【Formula】ではなく【Formula2】を使いましょう

(もこな2 ) 2024/04/17(水) 10:23:56


もこな2さん 
完結するまでトピックスを分けてはいけないのですね。
ルールを知らずすいません。
前に進むことができました。ありがとうございます。
(素焼き) 2024/04/17(水) 10:42:36

誤解させてしまったのでコメントしておきます。
>完結するまでトピックスを分けてはいけないのですね
違います。
単に【私見として】関連しているなら(お互いに説明・確認しなおすのが面倒なので)わざわざトピックを分ける必要は無かったんじゃないですか?というコメントをしたに過ぎません。

既にご覧になられたかと思いますが、【初めての方へ】でそのような記載はありませんので、思うところがあるのであれば、方針を貫かれるとよいとおもいます。

(もこな2 ) 2024/04/17(水) 19:13:54


コメント返信:

[ 一覧(最新更新順) ]


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