作者r50o19 (打开推进器)
看板Office
标题[算表] 判断列的加总
时间Fri Apr 5 00:05:10 2019
软体:Excel
版本:2013
事情是这样的,我需要把 订单的总和 - 销量的总和,
可是如果订单超过销量2个月的话,就不算多出来第2个月的订单,
因为这样其中一种预估生产排程会不准,
大概像这样,
https://imgur.com/WyOqY0U
如果 订单目前到5月份,销量到4月份
则是SUM(B3:F3)-SUM(B4:E4)=10;5月订单-4月销量
订单目前到5月份,销量到5月份
则是SUM(B3:F3)-SUM(B4:F4)=0 ;5月订单-5月销量
订单目前到6月份,销量到4月份
则是SUM(B3:F3)-SUM(B4:E4)=10;5月订单-4月销量
目前能想到的公式大概像上图 N6 这样,接着就头脑冒烟了 T_T
想请问要怎麽设定才能达成我想做的呢?
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.223.83.230
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1554393912.A.59F.html
不好意思,soyoso大,我是真的看不懂啊啊 T_T
好多问题要问,
先说我看得懂的地方
SUMPRODUCT:计算阵列间对应元素相乘,并传回乘积之和
公式:SUMPRODUCT(Array1,Array2,Array3,...)
COLUMN:传回参照的栏数
公式:COLUMN(reference)
然後...然後...我就看不懂了...
首先
(B3:M4-B4:M4)这段,为什麽这时候能用选取范围相减?
然後...然後...我又懵了...
COUNT(B4:M4)
这段应该是算 4列 个数
COUNT(B3:M3) > COUNT(B4:M4)
这段应该是若 3列 个数 > 4列 个数则为 TRUE
所以就变成
B个数 + (A个数 > B个数 ; 0,1)
那
COLUMN(A:L)在这边的用意是什麽?这样抓取的值不是都为1吗?
那变成
[ 1 <= B个数 + ( 0 或 1) ]
这样不就全部都是TRUE了吗??
最後,回到主题
这些合在一起我更满头问号了啊啊啊!
那这段公式合起来看就变成
SUMPRODUCT{(A和-B和)*[ 传回栏数(1) <= B个数 + ( 0 或 1 ) ]}
==> SUMPRODUCT[(A和-B和)*1]
怎麽看都是我误解了!! 请问这段公式是什麽意思啊!! 感谢!!
还有,我试打了一下,如图:
https://imgur.com/v47ri41
结果错误了,请问我哪边打错了,谢谢!!
※ 编辑: r50o19 (61.223.83.230), 04/05/2019 14:01:08
2F:→ soyoso: A:M改为A:L 04/05 14:27
3F:→ soyoso: sumproduct乘积外,可将相同维度的b3:b4-b4:m4对应相减, 04/05 16:03
4F:→ soyoso: 除减外也可加乘除、次方运算 04/05 16:03
5F:→ soyoso: 条件判断为真true和假false,在运算後会是1和0,这方面原 04/05 16:03
6F:→ soyoso: po回文也有写到 04/05 16:03
7F:→ soyoso: 所以b个数会+1或0就看count(b3:m3)>count(b4:m4)为真或假 04/05 16:03
8F:→ soyoso: column(A:L)在该公式的值不是都为1,而是1,2,3,4...,12 04/05 16:03
9F:→ soyoso: 1,2,3,4...,12<=b个数+(0或1)就会是true,true,true..., 04/05 16:03
10F:→ soyoso: false,12个元素的array 04/05 16:03
11F:→ soyoso: (b3:m3-b4:m4)则是b3-b4,c3-c4...m3-m4也会是12个元素的 04/05 16:03
12F:→ soyoso: array,最後再相乘 04/05 16:03
喔喔,
也就是column(A:M)就是1,2,3,...,13,因为超过对应维数导致错误,
所以才改成column(A:L)
懂了懂了,谢谢soyoso大!!
※ 编辑: r50o19 (61.223.83.230), 04/05/2019 16:26:01