[[20251008152805]] 『計算式を比べて同じにしてください。』(よーこ) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『計算式を比べて同じにしてください。』(よーこ)

前提としてB11:B100に名前、C11:C100に日付
Y11:Y100に作業用計算式=EDATE(C11,3)-IF(DAY(C11)=DAY(EDATE(C11,3)),1,0)
AF3に=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$11:$B$100)/($AF$1<=$Y$11:$Y$100),ROW(A1))),"")
があります。
これを作業用を消したいので
=IFERROR(INDEX($B$11:$B$100,AGGREGATE(15,6,(ROW($B$11:$B$100)-ROW($B$11)+1)/( $AF$1 <= (EDATE($C$11:$C$100,3) - IF(DAY($C$11:$C$100)=DAY(EDATE($C$11:$C$100,3)),1,0)) ),ROW(A1))),"")
にしてみたのですが、上手くいきません。
おかしい所を教えて直してほしいです。
よろしくお願いいたします。

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


 >=IFERROR(INDEX($B$11:$B$100,AGGREGATE(15,6,(ROW($B$11:$B$100)-ROW($B$11)+1)/・・
    ↓
   IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$11:$B$100)/・・
   ※当初、B:Bの列参照だったので、同じ構成にしないと首尾一貫しない。(まぁ、間違いと言う程ではないが)

 >・・( $AF$1 <= (EDATE($C$11:$C$100,3) - IF(DAY($C$11:$C$100)=DAY(EDATE($C$11:$C$100,3)),1,0)) ),ROW(A1))),"") 
    ↓
  ・・( $AF$1 <= (EDATE($C$11:$C$100*1,3) -(DAY($C$11:$C$100)=DAY(EDATE($C$11:$C$100*1,3)))) ),ROW(A1))),"")
 ※1.EDATEの第一引数は、どう云う訳か複数のセル範囲を処理してくれない。なので値配列に変換する
 ※2.(何の工夫もしないで)IF関数を使うと配列数式にしないとならなくなる。
    幸い、Trueは1に換算してくれるので、IFを使わないでも処理できる条件下に在る。

 結局、AF3セルは↓
 =IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$11:$B$100)/( $AF$1 <= (EDATE($C$11:$C$100*1,3) -(DAY($C$11:$C$100)=DAY(EDATE($C$11:$C$100*1,3)))) ),ROW(A1))),"")

(半平太) 2025/10/08(水) 16:26:49


コメント返信:

[ 一覧(最新更新順) ]


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