作者dogs1231992 (河豚)
看板Office
标题[算表] EXCEL 不使用回圈下求最接近值
时间Thu Apr 20 17:32:28 2017
软体:EXCEL
版本:2016
小弟目前有好几组实验数据,分成N个EXCEL档,每个档案的架构都一样,只差在数据内容
我希望针对每个EXCEL档内的数据做以下分析:
PIPE_M工作页中有50行数据,分别储存在D到BA中,我想要找出每行中最接近0的值
(绝对值後的最接近)
以AN行数据为例:
......
......
0.540504782
0.465468571
0.391963991
0.318428045
0.244860409
0.171260652
0.097628138
-0.074149919
-0.156326294
-0.238038925
-0.319741636
-0.40143503
-0.483119526
-0.566541229
......
......
以此范例来看,-0.074149919 比 0.097628138 更接近0
因此我希望EXCEL回传 -0.074149919
若在表格内新增 0.0001 则回传 0.0001 这个数值
我目前所使用的方式为:
{=MIN(ABS(INDIRECT("PIPE_M!AN2:AN"&COUNT(PIPE_M!AN:AN)+1)))}
虽然上式可以成功求得 -0.074149919 ,但由於回圈要自己按 Ctrl+Shift+Enter
因此我担心未来在复制方程式到其他EXCEL档内处理相同资料时需要全部重按一次
(不知我个人认知是否有误? 或者根本不用担心?)
此外,先前曾处理过超大的EXCEL,在进入回圈内之後会出现速度严重变慢的情形
(例如,从100万笔资料中找到最小值)
关於目前的问题,我曾经尝试过 =VLOOKUP(0,PIPE_M!AN:AN,1)
结果回传的数据是 -13.03032375 (AN行中最後一个数据,也是最小的一个)
若将此方法套用到AM行的话会出现#N/A,因为AM行内全部都大於0
连回传最小值都不会
我有想过直接将PIPE_M里面的数据另存到PIPE_M_ABS中,并直接将其绝对值化
但由於全部数据有数十个EXCEL档,要一个一个弄的话会耗费太多时间
不知此种问题是否有更简单的解法?
非常感谢各位的帮忙 Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.23.14
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1492680750.A.7D4.html
1F:→ soyoso: 测试如是复制该阵列公式储存格到其他excel档内处理的话, 04/20 17:46
2F:→ soyoso: 测无需重新按下组合键;但如是从资料编辑列(公式列)复制该 04/20 17:47
3F:→ soyoso: 公式的话则是需要再次按组合键 04/20 17:48
4F:→ soyoso: 如重覆、反覆性处理数十个excel档内的数据,也可看巨集是 04/20 18:15
5F:→ soyoso: 否可协助 04/20 18:15