在excel中比较不同行的治疗前/治疗后评分

xpcnnkqh  于 2023-03-20  发布在  其他
关注(0)|答案(3)|浏览(111)

我有一个excel文件,其中有人们对问题的回答,随着时间的推移,在多行中。我需要做一个比较的第一次评级与最后一次评级,看看是否有增加或减少。然后我必须总结每个问题的增加和减少的数量。我必须使用的唯一工具是标准excel(没有宏或权力查询等)
我试过在数据透视表的日期字段中使用最大/最小值,但是因为每个人的前/后日期都不一样,所以似乎不起作用。有人知道我可以使用哪些步骤来达到这个目的吗?
起始位置是此表:
| 姓名|日期|问题1|问题二|
| - ------|- ------|- ------|- ------|
| 乔|1月1日23|1个|第二章|
| 乔|2023年1月5日|三个|三个|
| 莎莉|2023年2月1日|四个|八个|
| 莎莉|2023年6月2日|六个|七|
结束位置与此表类似:
| 问题|数量增加|数目减少|
| - ------|- ------|- ------|
| 问题1|第二章|无|
| 问题二|1个|1个|
谢谢你。

lztngnrs

lztngnrs1#

有更好的方法,但仍然:

=HSTACK(VSTACK("Question",TOCOL(C1:E1)),VSTACK("Increase",TOCOL(BYCOL(C2:E13,LAMBDA(y,SUM(BYROW(UNIQUE(A2:A13),LAMBDA(x,N((FILTER(y,(B2:B13=MAXIFS(B2:B13,A2:A13,x))*(A2:A13=x))-FILTER(y,(B2:B13=MINIFS(B2:B13,A2:A13,x))*(A2:A13=x)))>0)))))))),VSTACK("Decrease",TOCOL(BYCOL(C2:E13,LAMBDA(y,SUM(BYROW(UNIQUE(A2:A13),LAMBDA(x,N((FILTER(y,(B2:B13=MAXIFS(B2:B13,A2:A13,x))*(A2:A13=x))-FILTER(y,(B2:B13=MINIFS(B2:B13,A2:A13,x))*(A2:A13=x)))<0)))))))))

结果:

使用给定数据:

=HSTACK(VSTACK("Question",TOCOL(C1:D1)),VSTACK("Increase",TOCOL(BYCOL(C2:D5,LAMBDA(y,SUM(BYROW(UNIQUE(A2:A5),LAMBDA(x,N((FILTER(y,(B2:B5=MAXIFS(B2:B5,A2:A5,x))*(A2:A5=x))-FILTER(y,(B2:B5=MINIFS(B2:B5,A2:A5,x))*(A2:A5=x)))>0)))))))),VSTACK("Decrease",TOCOL(BYCOL(C2:D5,LAMBDA(y,SUM(BYROW(UNIQUE(A2:A5),LAMBDA(x,N((FILTER(y,(B2:B5=MAXIFS(B2:B5,A2:A5,x))*(A2:A5=x))-FILTER(y,(B2:B5=MINIFS(B2:B5,A2:A5,x))*(A2:A5=x)))<0)))))))))

结果:

vdgimpew

vdgimpew2#

假设您的表位于A1:D5范围内,请尝试以下操作:
| A类|B|C级|D级|E级|F级|G级|高|我|J型|K|L型|男|数量|O型|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 姓名|日期|问题1|问题二||姓名|最小日期|最大日期|问题1|问题二|||数量增加|数目减少|号码档|
| 乔|小行星44927|1个|第二章||=IF(计数(A$1:A2,A2)=1,A2,"”)|=如果(F2="","",合计(15,6,1/(A:A=F2)*B:B,1))|=IF(F2="","",合计(14,6,1/(A:A=F2)*B:B,1))|=IF(F2="","",求和(C:C,$A:$A,$F2,$B:$B,$G2)-求和(C:C,$A:$A,$F2,$B:$B,$H2))|=IF(G2="","",求和(D:D,$A:$A,$F2,$B:$B,$G2)-求和(D:D,$A:$A,$F2,$B:$B,$H2))||问题1|=计数(I:I,"〈0”)|=计数(I:I ",〉0”)|=计数(I:I ",=0”)|
| 乔|小行星45047|三个|三个||=IF(计数(澳元1:澳元3,澳元3)=1,澳元3,"”)|=如果(F3="","",合计(15,6,1/(A:A=F3)*B:B,1))|=IF(F3="","",合计(14,6,1/(A:A=F3)*B:B,1))|=IF(F3="","",求和(C:C,$A:$A,$F3,$B:$B,$G3)-求和(C:C,$A:$A,$F3,$B:$B,$H3))|=IF(G3="","",求和(D:D,$A:$A,$F3,$B:$B,$G3)-求和(D:D,$A:$A,$F3,$B:$B,$H3))||问题二|=计数(J:J ",〈0”)|=计数(J:J ",〉0”)|=计数(J:J ",=0”)|
| 莎莉|小行星44928|四个|八个||=IF(计数(澳元1:A4,A4)=1,A4,"”)|=如果(F4="","",合计(15,6,1/(A:A=F4)*B:B,1))|=如果(F4="","",合计(14,6,1/(A:A=F4)*B:B,1))|=IF(F4="","",求和(C:C,$A:$A,$F4,$B:$B,$G4)-求和(C:C,$A:$A,$F4,$B:$B,$H4))|=IF(G4="","",求和(D:D,$A:$A,$F4,$B:$B,$G4)-求和(D:D,$A:$A,$F4,$B:$B,$H4))||||||
| 莎莉|小行星45079|六个|七||=IF(计数(澳元1:澳元5,澳元5)=1,澳元5,"”)|=如果(F5="","",合计(15,6,1/(A:A=F5)*B:B,1))|=如果(F5="","",合计(14,6,1/(A:A=F5)*B:B,1))|=如果(F5="";"";SUMIFS(C:C;$A:$A;$F5;$B:$B;$G5)-同分异合(C:C;$A:$A;$F5;$B:$B;$H5))|=如果(G5="";"";SUMIFS(D:D;$A:$A;$F5;$B:$B;$G5)-同分异合(D:D;$A:$A;$F5;$B:$B;$H5))||||||

r9f1avp5

r9f1avp53#

有很多次优选项,包括此选项。由于您的数据已被透视,因此可能很难找到一个干净的解决方案。您可能会找到更好的答案,因为此选项要求您的数据正确排序。
您可以从获取数据的副本开始,并过滤掉不代表每个人的第一个或最后一个记录的行。
像这样的单元格E2将标记每一行,确保您的数据按名称和日期排序。

=IF(A2<>A1,"FIRST",IF(A2<>A3,"LAST","NA"))

清理数据后,每个问题只有FIRST和LAST,然后创建helper列来评估每个问题,比较第一个答案和最后一个答案。
单元格F2公式:

=IF($A2=$A1,C2-C1,0)

向下拖动。
最后,您可以通过计数大于0的单元格数表示增加,计数小于0的单元格数表示减少来进行总结。

Cell F12 formula: =COUNTIF(F2:F9,">0")

Cell F13 formula: =COUNTIF(F2:F9,"<0")

把这些拖过去。
| 姓名|日期|第一季度|第二季度|过滤|Q1_检查|Q2_检查|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 乔|小行星44927|1个|第二章|=如果(A2〈〉A1,“第一个”,如果(A2〈〉A3,“最后一个”,“不适用”))|=IF($A2= $A1,C2-C1,0)|=IF($A2= $A1,D2-D1,0)|
| 乔|小行星44931|三个|三个||||
| 莎莉|小行星44|四个|八个||||
| 莎莉|小行星44|十六|七||||
| 亨利|小行星44927|第二章|1个||||
| 亨利|小行星44|1个|六个||||
| 杰克|小行星44|1个|第二章||||
| 杰克|小行星44|三个|第二章||||
| | | | | | | |
| | | | | 摘要|第一季度|第二季度|
| | | | | 增加|=计数器(F2:F9 ",〉0”)|=计数(G2:G9 ",〉0”)|
| | | | | 减少|=计数(F2:F9,"〈0”)|=计数(G2:G9 ",〈0”)|

相关问题