|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
在一个工作表中,选择一个8100*3的区域,如A1:C8100,或A1900:C9999,输入公式:
=MOD(ROW(1900:9999),{4,100,400}),按Ctrl+Shift+Enter结束。
A列是1900、1901、1902。。。9999除以4所得余数,B列是除以100所得余数,C列是除以400所得余数。
A、B、C三列0的个数分别是2025、81、20,用数组表示为{2025,81,20},用这个结果乘以{1,-1,1},得到{2025,-81,20},把这个数组求和,即sum({2025,-81,20}),结果为1964。
为什么乘以{1,-1,1},就是为了得到表达式:2025+20-81,这是一个解题技巧。
另举一个例,如何用三个一位数1、2、3通过计算得到一个三位数123?常用的方法就是:=SUM({1,2,3}*{100,10,1}),这里的{100,10,1}与前面的{1,-1,1}一样,是一个常量数组,是解题需要特定设定的一个常量数组。它不存在“非0即1”的逻辑关系,与“非0即1”不兼边,半毛钱关系都没有。
上面的解释为了方便,没有按公式的解题思路叙述。具体的解题思路,参考附件,观察解题过程,同样可以理解为什么*{1,-1,1}。
|
评分
-
1
查看全部评分
-
|