『計算式を比べて同じにしてください。』(よーこ)
前提として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.