[算表] Excel 末10列有效资料撷取问题

楼主: rafael750626 (一休)   2022-11-26 08:47:01
软件:Microsoft Excel
版本: 家用版 2016
资料样式范例
https://imgur.com/a/2pz4KHC
Date 表示测试日期
RoomA/RoomB/RoomC 表示不同测试区域
B ~ D栏的数字为测试结果,空白储存格是该次未做检测的意思。
日期相同表示同一日期不同次测试。
主要问题
想请教各位板友。如果今天我要撷取
“从第x列往前计算,最后10个有测试样本的滚动阳性率” (测试结果>=0的比例),
该如何设计式子呢?
举例:
Room A 的B13储存格:撷取 B1 ~ B13格的资料算阳性率。
Room A 的B36储存格:撷取 B25 ~ B36格的资料算阳性率。
Room B 的C25储存格:撷取 C13 ~ C25格的资料算阳性率。
Room C 的D18储存格:撷取 D7 ~ D18格的资料算阳性率。
附带条件
不要用筛选功能,因为测试区域不只一个,希望能并排比较。
尝试与困难
之前尝试像OFFSET,MATCH等函数都会遇到一个共同的问题。
因为要定义“非空白的最后10笔资料”在公式设计上就会撞墙。
因为范围是可变的,
不能直接写OFFSET然后向上10格 (会包含空白)
用单一的IF函数往上推更多资料进入选取区域也可能会遇到更多空白,解法并不完美。
怎么查资料都查不到一个好的写法。
想就这个部分跟各位大大请益。
感谢。
作者: kinomon (奇诺 Monster)   2022-11-26 16:50:00
我会考虑做辅助栏呈现非空白的累计个数例如RoomA辅助栏 J20= row(19:19)-countif(A$2:A20, “”)写错 J20= row(19:19)-countif(B$2:B20, “”)J20算出来是15 往前追溯前十就是用match找J栏为6的位置不过我只是粗略想的 应该还有比较简洁的解法
作者: newacc (XD)   2022-11-26 19:59:00
觉得应该可以用INDEX、LARGE、IF的阵列公式处理判断非空白回传列号,抓列号最大的10个喂给INDEX不过我电脑送修要上班日才能帮你写写看了
作者: windknife18 (windknife18)   2022-11-27 21:24:00
以B36为例算第几列=LARGE(IF($B$1:B36<>"",ROW($B$1:B36)),10)
作者: newacc (XD)   2022-11-29 16:30:00
参考看看 https://bit.ly/3VBrhch不过google在处理公式的逻辑好像跟excel不太一样请下载下来用excel开,计算才会是对的
作者: kinomon (奇诺 Monster)   2022-11-30 19:21:00
评估值公式可以看公式的运作 {}是阵列Row($1:$10)就是{1;2;3;4;5;6;7;8;9;10}https://rijifang.com/index.php/post/59.html找了找这篇对岸文章写得比较浅显
作者: newacc (XD)   2022-12-02 11:38:00
结果变成0或1应该是被当作阵列公式处理了,试试看编辑F2直接按Enter完成公式,再从F2复制到其他格看看加成压缩档,应该不会被google动手脚了https://bit.ly/3VLY4LI 新增公式的解说https://i.imgur.com/isDK7KW.png
楼主: rafael750626 (一休)   2022-12-05 15:54:00
刚才确认了。如果自行输入公式,结果会是0或1在有按下ctrl + shift + Enter的情况下...
作者: windknife18 (windknife18)   2022-12-05 18:38:00
F2=IF(COUNTIF(B$2:B2,"<>")<10,"不足10例",COUNTIF(INDIRECT("D"&LARGE(IF(B$2:B2<>"",ROW(B$2:B2)),10)&":D"&ROW(B2)),">0")/10)按Ctrl+Shift+Enter结束,然后往下和右复制公式忘了改indirect里面的D了,所有D要改成B另外公式复制到G2要将里面的B改成C,依此类堆https://tinyurl.com/2p9756se
楼主: rafael750626 (一休)   2022-12-06 09:29:00
感谢windkinfe18大大,目前公式可以使用。且原始资料也可以修改。公式内容我应该看得懂。感谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com