gpt4 book ai didi

excel - 随着时间的推移分配值(value)

转载 作者:行者123 更新时间:2023-12-04 21:42:33 25 4
gpt4 key购买 nike

在此示例中,我有两列数据:日期和数量。
例子:
(见截图链接)
我想做的事,用excel公式 (如果可能),是“水平加载”这些数量,并在给定的时间范围内尽可能均匀地分散它们,同时保留整数。每个值的理想日期将对应于给定周的星期四。
期望的结果:
(见截图链接)

最佳答案

这是可能的,但也很难。这是我的两分钱(我可能想得太多了):

  • 假设可以访问最新的 BETA 功能(或下文提到的替代功能);
  • 月份按顺序排列,例如:五月 > 六月 > 七月等。

  • enter image description here E2 中的公式:
    =LET(A,SEQUENCE(EOMONTH(A5,0)-A3,,A3),B,FILTER(A,(WEEKDAY(A)=5)*((DAY(A)/7)-0.1<VLOOKUP(A,A3:B5,2))),C,BYROW(B,LAMBDA(x,SUM(--(MONTH(B)=MONTH(x))))),D,VLOOKUP(B,A3:B5,2),VSTACK(A2:B2,HSTACK(B,FLOOR(D/C,1)+TEXTSPLIT(CONCAT(TAKE(UNIQUE(HSTACK(MONTH(B),RIGHT("0|0|0|0|0|"&REPT("1|",MOD(D,C)),C*2))),,-1)),,"|",1))))
    或者(同样冗长,但没有 TEXTSPLIT() ):
    =LET(A,SEQUENCE(EOMONTH(A5,0)-A3,,A3),B,FILTER(A,(WEEKDAY(A)=5)*((DAY(A)/7)-0.1<VLOOKUP(A,A3:B5,2))),C,BYROW(B,LAMBDA(x,SUM(--(MONTH(B)=MONTH(x))))),D,VLOOKUP(B,A3:B5,2),VSTACK(A2:B2,HSTACK(B,FLOOR(D/C,1)+MID(CONCAT(TAKE(UNIQUE(HSTACK(MONTH(B),RIGHT("00000"&REPT("1",MOD(D,C)),C))),,-1)),SEQUENCE(COUNT(B)),1))))
    如您所知,这是一个延伸(仅证明@Scott 在评论中的观点,即通过 VBA 可能更容易)。

    如果您有 ms365 但无法访问 BETA 功能,您可以使用:
    =LET(A,SEQUENCE(EOMONTH(A5,0)-A3,,A3),B,FILTER(A,(WEEKDAY(A)=5)*((DAY(A)/7)-0.1<VLOOKUP(A,A3:B5,2))),C,BYROW(B,LAMBDA(x,SUM(--(MONTH(B)=MONTH(x))))),D,VLOOKUP(B,A3:B5,2),CHOOSE({1,2},B,FLOOR(D/C,1)+MID(CONCAT(INDEX(UNIQUE(CHOOSE({1,2},MONTH(B),RIGHT("00000"&REPT("1",MOD(D,C)),C))),,2)),SEQUENCE(COUNT(B)),1)))
    您只需要自己添加标题(因为没有 VSTACK() )。

    enter image description here

    enter image description here

    关于excel - 随着时间的推移分配值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72191387/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com