我对使用excel编写大型复杂公式有些新意。大约7个月前,我接过某人的报告,似乎每周我都会发现用他的公式写的问题。
本周我遇到了匹配公式的问题。我们有一份报告,我们为一家大型五金店运营,他们根据周报告。上周是201501(2015年,第1周)。上周是201452(2014年,第52周)。
为了查看4周的平均销售额,我的前任设置了4个数字,这些数字将根据您在其中一个列标题中输入的周数每周更改一次。所以,当我输入201452时,
#1 is 201449
#2 is 201450
#3 is 201451
#4 is 201452
他将这些提供给匹配功能。
本周我发现201501没有正确显示周数。我得到了
Results Formula Used
201501 =D1 (The cell where you type the Store's week)
201500 =IF(M1=201301,201252,IF(M1=201401,201352,M1-1))
201499 =IF(L1=201301,201252,IF(L1=201401,201352,L1-1))
201498 =IF(K1=201301,201252,IF(K1=201401,201352,K1-1))
我改变了那些公式
Results New Formula
201501 =D1
201452 =IF(RIGHT(M1,2) = "01",(LEFT(M1,4) - 1)&"52",M1-1)
201451 =IF(RIGHT(L1,2) = "01",(LEFT(L1,4) - 1)&"52",L1-1)
201450 =IF(RIGHT(K1,2) = "01",(LEFT(K1,4) - 1)&"52",K1-1)
但是,他在整个工作簿中设置的匹配公式尚未修复。他们仍然在显示" #N / A."一个这样的公式是
=INDEX(N5:DZ5,1,MATCH(Data!$L$1,$N$1:$ED$1,0))
此公式基本上查看列标题,如果它看到列标题与我输入的那一周相匹配,则会显示该范围内的值。
基本上,任何提供201452价值的公式都会返回" #N / A"。其他数字奇迹般地显示数据。
我已经尝试将受影响的行中的所有数据转换为" General"格式类型。我已经尝试检查我的所有公式和列标题之前或之后是否有空格,但我仍然没有运气。
有什么想法吗?
答案 0 :(得分:1)
尝试并尝试尝试后,我发现Excel不喜欢连接。修剪没有帮助,文本没有帮助,连接当然没有用。
我最终意识到我可以简单地写
=IF(RIGHT(M1,2) = "01",M1-49,M1-1)
这使得在右边的数字是第一周的情况下,减去49天并产生52而不是00.
答案 1 :(得分:0)
我在这里猜测,但可能是你的公式将年份/周组合作为数字出现,其中匹配公式正在寻找文本(出于Excel的目的,它没有' ; t认为它们是一样的。)
您可以通过使用文本公式
包装上面的公式来解决这个问题所以你有以下内容:
Results New Formula
201501 =TEXT(D1,"0")
201452 =TEXT(IF(RIGHT(M1,2) = "01",(LEFT(M1,4) - 1)&"52",M1-1),"0")
201451 =TEXT(IF(RIGHT(L1,2) = "01",(LEFT(L1,4) - 1)&"52",L1-1),"0")
201450 =TEXT(IF(RIGHT(K1,2) = "01",(LEFT(K1,4) - 1)&"52",K1-1),"0")