Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
IF関数で切り替え
投稿日時: 20/03/03 16:03:29
投稿者: 純

よろしくお願いいたします。
 
累計というシートに以下のデータがあります。月別に20年の1〜6月19年の1月〜6月(C〜N列)
 
    A    B    C    D    I    J    K    L    M    N
3    エリア    名    当年    当年    前年    前年    前年    前年    前年    前年
4            20/1    20/2    19/1    19/2    19/3    19/4    19/5    19/6
5    01    〇〇    10    12    10    11    15    10    9    8
6    02    □□    15    13    12    12    16    13    12    11
15    11                                    
        
 
もうひとつ2月というシートのZ5セルに以下の式を入れてます。
 
=IF($X$2="半期",SUMPRODUCT(VLOOKUP($I$1,累計!$B:$N,{8,9,10,11,12,13},0),SUMPRODUCT(VLOOKUP($I$1,累計!$B:$N,{8,9},0))))
 
X2が半期なら累計シートの前年の1月から6月の合計をそうでなければ1月2月の合計を出したいのですが
どのような式にしたらいいでしょうか
 

回答
投稿日時: 20/03/03 20:49:29
投稿者: 半平太

ちっと質問の趣旨が呑み込めないです。
  
1.まずご提示の数式は正しいのですか?
それとも、単なるこれの転記ミスなんですか?
         ↓
Z5セル =IF($X$2="半期",SUMPRODUCT(VLOOKUP($I$1,累計!$B:$N,{8,9,10,11,12,13},0)),SUMPRODUCT(VLOOKUP($I$1,累計!$B:$N,{8,9},0)))
  
2.「1月〜2月」の部分を動的な対応にしたいとか言う話なのですか?

回答
投稿日時: 20/03/03 21:47:55
投稿者: んなっと

=SUM(INDEX(IF($X$2="半期",累計!$I:$N,累計!$I:$J),MATCH($I$1,累計!$B:$B,0),))

回答
投稿日時: 20/03/03 22:06:41
投稿者: んなっと

最新のOfficeなら
=SUM(XLOOKUP($I$1,累計!$B:$B,IF($X$2="半期",累計!$I:$N,累計!$I:$J)))
契約状況次第ですが。
やがてはこれが主流になるような気がします。

投稿日時: 20/03/04 08:16:22
投稿者: 純

半平太 さま
 
返信ありがとうございます。
 
半期なら6か月合計、そうでなければ1月から常に当月(1〜2月、1〜3月)としたかったので
{8,9,10}と手動で追加していくつもりでした。
 
説明が足らずに申し訳ありませんでした。
 
んなっと さま
 
1つ目の式で無事解決できました。
 
XLOOKUPは#NAME?となったので調べてみたらまだ私の環境では出来ませんでした。
 
いつも助けていただいて本当に感謝しています。(問題解決+新しい事まで)
どうもありがとうございました。