动态平均每个ID每个时间段的数据

问题描述 投票:0回答:1

我有下表(图片中更详细):

样本数据

Sample Data

姓名 日期 身份证 问题1 问题2 问题3
细胞1 细胞2 细胞3 4 号电池 5 号小区 6 号电池
细胞1 细胞2 细胞3 4 号电池 5 号小区 6 号电池

我希望能够选择一个用户,然后填充上个月平均值、上个月平均值和年初至今平均值的后续指标。 YTD 平均值不能是每月的平均值,而是迄今为止的总数据平均值。

我实际测量的是问题 1、2 和 3 的答案,以及每个用户每月回答“是”和“否”的总数与“是”答案的数量。它是用 =CountIF()/SUM(CountIFS()) 语句计算的

注意:有时会跳过几个月的数据,因此必须根据最后记录的月份数据而不是最后一个日历月进行填充。在示例图像中,橙色突出显示的区域是需要填充的位置和方式。

对于像这样的小数据集,我使用的是每月每组名称部分: =COUNTIF(D2:F4,"Yes")/SUM(COUNTIFS(D2:F4,{"No","Yes"}) )

...示例数据中以绿色突出显示的每行,但这需要我在不同的单元格中编写不同的公式并以不同的方式引用不同的单元格,与拖放新数据解决方案相比,每月维护效率不高。 ..此外,如果数据未正确分组,则会导致更多问题和不准确

excel-formula vlookup countif
1个回答
0
投票

这里有以下公式,可以用它来解决:

enter image description here


=LET(
     _CriteriaOne, (TEXT(EOMONTH(TODAY(),{-1,-2}),"e-m")=TEXT(B2:B16,"e-m")),
     _CriteriaTwo, (I2=A2:A16),
     _Questions, D2:F16,
     _LastMonth, FILTER(_Questions, TAKE(_CriteriaOne,,1)*_CriteriaTwo,""),
     _MonthBefore, FILTER(_Questions, TAKE(_CriteriaOne,,-1)*_CriteriaTwo,""),
     _YTD, FILTER(_Questions, _CriteriaTwo,""),
     VSTACK(IFERROR(SUM(N(_LastMonth="Yes"))/SUM(N(_LastMonth<>"NA")),0),
     IFERROR(SUM(N(_MonthBefore="Yes"))/SUM(N(_MonthBefore<>"NA")),0),
     IFERROR(SUM(N(_YTD="Yes"))/SUM(N(_YTD<>"NA")),0)))

© www.soinside.com 2019 - 2024. All rights reserved.