【发布时间】:2017-10-13 04:25:34
【问题描述】:
我有这个没有文档的人创建的 Excel 公式,我很难理解它。
=SUMPRODUCT(-MID(TEXT(MID(TEXT(F2,REPT(0,15)),ROW(INDIRECT("1:15")),1)*{2;1;2;1;2;1;2;1;2;1;2;1;2;1;2},"00"),{1,2},1))
看起来它从另一个数字创建了一个“随机”数字。
我正在努力解决的关键问题很少:
* 为什么有一个数组 ({1,2}) 给 MID() 函数?
* 因为有一个SUMPRODUCT(),它需要一个数组,我假设-MID() 函数的结果是某种数组,我怎么看它是什么?
* 乘以数组 {2;1;2;1;2;1;2;1;2;1;2;1;2;1;2} 有什么作用?
* INDIRECT() 函数似乎总是返回 1?
任何帮助都会得到帮助。
【问题讨论】:
-
INDIRECT(1:15)返回一个包含从 1 到 15 的所有数字的数组。然后将 F2 中的每个字符乘以 2 或 1(交替)。它看起来像计算信用卡号码的校验位,但我可以测试它,因为我只有我的手机...... -
同意 Jerry,它是用于信用卡校验位,尝试谷歌搜索“Luhn 算法”或类似的(虽然这个计算可能略有不同)
标签: excel excel-formula