ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

请问高手们我的公式哪错了?

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-30 13:37 | 显示全部楼层

请问您有除了宏更直接方便的公式吗?请指导,感激。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-30 13:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
丢丢表格 发表于 2017-11-30 13:35
你的问题 想给你看看的,可是 我的电脑都被你的表格计算卡死了,

恳求皇上开恩、臣妾办不到呀~~~~~

很是抱歉,我要怎么办呀?请问您知道怎样将一个工作表中的宏复制到另一个工作表中吗,如带宏表A制表到一个新表中,

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-30 13:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
问题小妹 发表于 2017-11-30 13:42
很是抱歉,我要怎么办呀?请问您知道怎样将一个工作表中的宏复制到另一个工作表中吗,如带宏表A制表到一 ...

={INDEX(ROW(数据源!$A$1:$A$12299),SMALL(IF(N(数据源!$A$1:$A$12299=TEXT(YEAR($I$4),"YYYY"))*N(数据源!$G$1:$G$12299=$D$3),ROW($A$1:$A$14999),3*4^6),ROW(A3)))}  请问我这个公式哪有错?

TA的精华主题

TA的得分主题

发表于 2017-11-30 13:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
问题小妹 发表于 2017-11-30 13:44
={INDEX(ROW(数据源!$A$1:$A$12299),SMALL(IF(N(数据源!$A$1:$A$12299=TEXT(YEAR($I$4),"YYYY"))*N(数据 ...

=TEXT(YEAR($I$4),"YYYY")  请问 你的 I4 是什么东东,(好像是空白呀)

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-30 14:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
丢丢表格 发表于 2017-11-30 13:46
=TEXT(YEAR($I$4),"YYYY")  请问 你的 I4 是什么东东,(好像是空白呀)

是日期,如:2017-12-31

TA的精华主题

TA的得分主题

发表于 2017-11-30 14:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wangjguo44 于 2017-11-30 14:21 编辑
问题小妹 发表于 2017-11-30 13:21
我不会宏,一点都不会,您能知道我的公式组哪错了吗?

不理解你要公式达到什么目的(根据什么条件规则解决什么问题),但是你A7:I 7原有公式=OFFSET(数据源!$A$1,自动生成表!$L7-1,,,4)等都有引用L7的值,但是L7公式中有TEXT(YEAR($I$4),"YYYY")一节是想表达啥意思?
1、$I$4中是空的;
2、空值默认为0;
3、对时间来说,0相当于1900年1月1日0点0分0秒;
4、取其年份(YEAR($I$4))得到的是1900;
5、用函数TEXT(1900,"YYYY")这里的数值1900将被看作日期序列号(即距1900-1-1有1900天的那一天,也即1905-3-14),而不再是年份1900,因而函数TEXT(1900,"YYYY")得到的是文本“1905”,绝不会与数据源!$A$1:$A$15000中任一个数值型的年份相匹配!
因此1、I4不能为空;2、用的函数不对。
其次,1、此公式中为啥用个3*4^6(=12288),通常是用4^8(03版工作表最大行号);
        2、取第几小(SMALL),首行就用取第三小(ROW(A3)),并且L8也是第三小?
而且,L7是求得行号,而非单元格的值,没必要=INDEX(ROW(数据源!$A$1:$A$15000);
另外,N(数据源!$A$1:$A$15000=TEXT(YEAR($I$4),"YYYY"))*N(数据源!$G$1:$G$15000=$D$3)本来两个逻辑数(组)相乘,就自然得到数值,用不着先加N函数进行转换。

重说一句,不理解你要公式达到什么目的(根据什么条件规则解决什么问题),难以给出确切公式!

TA的精华主题

TA的得分主题

发表于 2017-11-30 15:32 | 显示全部楼层
你整的太复杂了,电脑都被你的表格给卡住了

TA的精华主题

TA的得分主题

发表于 2017-11-30 15:36 | 显示全部楼层
其实你就想根据你的科目代码,把相应的内容取过来,是吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-30 15:56 | 显示全部楼层
小鹰427 发表于 2017-11-30 15:36
其实你就想根据你的科目代码,把相应的内容取过来,是吗?

是的,通过手工输入相应的科目代码,其他相应的内容自动生成,但日期是个大问题,我能做的公式组只能自动生成月份数据,我想取全年数据。

TA的精华主题

TA的得分主题

发表于 2017-11-30 16:05 | 显示全部楼层
公式用了index+small,不知道是不是你要的效果。

科目明细表.rar

255.46 KB, 下载次数: 7

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 15:31 , Processed in 0.033222 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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