ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 295|回复: 9

[求助] 公式哪里错了,大神帮忙看看

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-8-10 08:30 | 显示全部楼层 |阅读模式
公式哪里错了,大神帮忙看看,非常感谢

存货数据.rar

25.3 KB, 下载次数: 17

TA的精华主题

TA的得分主题

发表于 2024-8-10 09:22 | 显示全部楼层
本帖最后由 laomu2010 于 2024-8-10 09:30 编辑

Q4,库存金额找的是哪个值?
Q5,环比(库存总额),与环比(库存金额),不匹配
Q6,环比(呆滞金额),与环比(呆滞金额),不匹配
A2:A62,文字竖排的效果是用回车键实现,与R2:X2,不匹配,删除回车键。
image.png

TA的精华主题

TA的得分主题

发表于 2024-8-10 13:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你公式倒是问题不大,如楼上大佬所说把回车删了,想要名称合并竖排见图1。

1. 111.jpg
问题出在了图2红圈部分,两个表头名称不同,把B的名称直接粘到Q列,数据就出来了。至于截图中环比那一行,还是B列名称不统一的锅。
2. 222.jpg

TA的精华主题

TA的得分主题

发表于 2024-8-10 13:45 | 显示全部楼层
image.jpg
文本都对不上,,,,如何查,,,
前面有合并单元格的也没有处理,,,

TA的精华主题

TA的得分主题

发表于 2024-8-10 14:13 | 显示全部楼层
本帖最后由 沈默00 于 2024-8-10 14:15 编辑

坑太多了,字符很多都对不上,,,本来很简单的,整半天

=SUM(IF(($C$1:$N$1=$Q$2)*($B$2:$B$62=$Q3)*(SCAN(,$A$2:$A$62,LAMBDA(x,y,IF(y="",x,y)))=R$2),$C$2:$N$62,""))  右拉 下拉

image.jpg

TA的精华主题

TA的得分主题

发表于 2024-8-10 14:17 | 显示全部楼层
本帖最后由 沈默00 于 2024-8-10 14:19 编辑

附件也给你吧,对应的条件文本全部复制统一了,

后期处理的方法很多,,sumproduct,  filter,  index,  offset 都可以,,
如果不是365版的,,,就合并单元格处理那里要改一下

存货数据.rar

25.23 KB, 下载次数: 3

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-10 14:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.jpg
低版本的就改一下,,,
R2=SUM(IF(($C$1:$N$1=$Q$2)*($B$2:$B$62=$Q3)*(LOOKUP(ROW($2:$62),ROW($2:$62)/($A$2:$A$62<>""),$A$2:$A$62)=R$2),$C$2:$N$62,""))   右拉下拉

TA的精华主题

TA的得分主题

发表于 2024-8-11 18:28 | 显示全部楼层

1、先讲我的处理方式,我会把A列合并单元格拆了,把空格补齐,然后再用格式刷刷成合并的样式,然后用sumifs取数,条件1是仓库,条件2是Q2:Q8,月份用于列定位,Indirect+address+match方式,整体的公式是【SUMIFS(INDIRECT(ADDRESS(1,MATCH($Q$2,$A$1:$O$1,))&":"&ADDRESS(1000,MATCH($Q$2,$A$1:$O$1,))),$A$1:$A$1000,R$2,$B$1:$B$1000,$Q3)】
image.png

2、其次按你的Vlook方式,第一A列用了单元格内回车,找不到【所有存货】的位置,MATCH(R$2,$A:$A,0)结果会是NA错误,这是错误①;Q3:Q8对应的是B列区域,但单元格内全角半角不分(这是②);【库存金额(万元)】猜测=【实际库存金额(万元)】这是③;【环比(库存金额)】应该是【环比(存货金额)】这是④;【呆滞120天总额】应该=【呆滞120天金额】这是⑤;



image.png
修复①、②、③、④、⑤之后再来看查找函数,一般有3/取数方式,1是给定一个区域,按列或者行去"捞“指定条件的数,比如Vlookup,Hlookup;2是给定一个区域抓指定位置的数,Index属于这种;3是赋予一个原点,然后通过位移取数,比如Offset。无论哪种方式,都会绕不开区域和定位,也就是说要么构建一个满足条件的区域取数,要么从"原点”跳到一个满足条件的点获取值。

先看构建区域,就有区域的横向和纵向,以R3为例,单元格结果应该【VLOOKUP(Q3,B2:N10,7,0)】或者【INDEX(B2:N10,2,7)】公式结果,这俩个公式统一的第1个难点是获取【B2:N7】区域,第2个难点是定位获取2(行)和7(列),我们逐一来看:

第1个难点获取【B2:N7】区域:要构建R2:R8单元格区域,可通过Offset移位去做【OFFSET(A1,1,1,9,13)】如下图,A1单元格向下1行,像右移1列,构建一个9行*13列的区域,也就是【B2:N7】区域,向下偏移的1=【MATCH(R2,A:A,)-1】,向右偏移的1是因表格设置决定的,而且后续其他公式也是如此,可直接输入"1",9行这个需要通过"立体仓"的定位去-1,即=MATCH(S2,A:A,)-1,再减去表头占用的第一行,【MATCH(S2,A:A,)-2】,9列和第二个1一样,输入常数即可;S:X列公式区域定位上更复杂,后续再解决。
image.png
第2个难点获取2(行)和7(列)定位:横向7(列)的定位是依靠Q2做时间定位就可解决【MATCH($Q$2&"月",$A$1:$O$1,)-1】;纵向2(行)【MATCH(Q3,B2:B10,)】可解决,S:X列公式在纵向定位会有难度,这里先讲基本的后续再解决;要用INDEX取数的话,要根据Q3:Q10做一个定位【MATCH($Q3,$B$1:$B$10,)-1】。结合起来,考虑公式下拉问题,R3的公式为:
【VLOOKUP($Q3,OFFSET($A$1,MATCH(R$2,$A:$A,)-1,1,MATCH(S$2,$A:$A,)-2,13),MATCH($Q$2&"月",$A$1:$O$1,)-1,0)】,或
【INDEX(OFFSET($A$1,MATCH(R$2,$A:$A,)-1,1,MATCH(S$2,$A:$A,)-2,13),MATCH($Q3,$B$1:$B$10,)-1,MATCH($Q$2&"月",$A$1:$O$1,)-1)】
看起来看Index要多取一次定位,更复杂一点,后续就只讲Vlookup。原文想的是用【INDEX($B:$B,MATCH(R$2,$A:$A,0)):$N$100】,说实话我没有看懂这个是什么用法,感觉并没有理解函数意义。


R3:R10公式处理好后,我们看S3:S10,这部分的难点还是区域定位,区域应该是B11:N22,也就是【OFFSET($A$1,10,1,12,13)】,10可以通过查找“立体仓”在A列定位11再-1(表头行),即【MATCH(S$2,$A:$A,)-1】,12还是之前的法子,先找“零部件仓”的定位得到23【MATCH(T$2,$A:$A,)】(发现A列又对不上!),23-11=12,结合得到【MATCH(T$2,$A:$A,)-MATCH(S$2,$A:$A,)】,Offset函数是【OFFSET($A$1,MATCH(S$2,$A:$A,)-1,1,MATCH(T$2,$A:$A,)-MATCH(S$2,$A:$A,),13)】;列取数还是R3的法子,【VLOOKUP($Q3,OFFSET($A$1,MATCH(S$2,$A:$A,)-1,1,MATCH(T$2,$A:$A,)-MATCH(S$2,$A:$A,),13),MATCH($Q$2&"月",$A$1:$O$1,)-1,0)】,下拉公式发现【立体仓B11:N22】没有【环比(存货金额)】,这个老板自己去稽核。
image.png

最后把立体仓贴到刚刚的R2:R8区域,数据和刚刚计算吻合,往右拖到X2:X8区域,X列错误在A63和Y2单元格各补一个"完"结束。

image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-19 16:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
沈默00 发表于 2024-8-10 14:13
坑太多了,字符很多都对不上,,,本来很简单的,整半天

=SUM(IF(($C$1:$N$1=$Q$2)*($B$2:$B$62=$Q3) ...

大神,你这图上S3单元格,还有后面T3,U3都显示0,错了吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-19 17:03 | 显示全部楼层
贱贱的七少爷 发表于 2024-8-11 18:28
1、先讲我的处理方式,我会把A列合并单元格拆了,把空格补齐,然后再用格式刷刷成合并的样式,然后用sumi ...

谢谢,辛苦啦,感谢感谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-11 04:21 , Processed in 1.072456 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表