楼主 rongjun |
题目:求每种书籍最近出借数量,并列出其借出日期、书籍名称。 说明:1、A列日期按照升序排序; 2、出借数量小于100,表格格式固定,不得更改。 3、有兴趣的朋友可以挑战内存数组。 要求:1、用函数完成,最多可以用3个公式下拉完成(注:三列分别用公式计算再用choose()或if({1,1,0},)等方式合并公式者,视作使用三个公式); 2、不用VBA,不用辅助区域,不定义名称; 3、结果按日期升序排序,若日期相同则按B列现有次序依次列出; 4、注意处理错误值,不能有0值,结果如下图所示。 求各书籍的最近出借数量_题目.rar 请用回复可见方式答题。 |
2楼 syz105729913 |
我先来个,三列用一个内存数组的没想出来,用了两个公式。 求各书籍的最近出借数量_题目.rar |
3楼 棉花糖 |
E2:G21=TEXT(INDEX(IF((COLUMN(A2:C22)=1)*(ROW(1:21)<21),SUBTOTAL(4,OFFSET(A2,,,ROW(1:21))),A2:C22),SMALL(IF(COUNTIF(OFFSET(B1,ROW(1:20),,20),B2:B21)=1,ROW(1:20),21),ROW(1:20))),"[>1e4]e-m-d;[<100]#") 内存数组 |
4楼 棉花糖 |
=TEXT(MID(INDEX(IF(ROW(1:21)=21,"",SUBTOTAL(4,OFFSET(A2,,,ROW(1:21)))&100+C2:C22&B2:B22),SMALL(IF(COUNTIF(OFFSET(B1,ROW(1:20),,20),B2:B21)=1,ROW(1:20),21),ROW(1:20))),{1,10,7},{5,20,2}),"[>1e4]e-m-d;[<100]#") 不过以上公式行不通,想不通 |
5楼 棉花糖 |
=TEXT(MID(LOOKUP(SMALL(IF(COUNTIF(OFFSET(B1,ROW(1:20),,20),B2:B21)=1,ROW(1:20),21),ROW(1:20)),ROW(1:21),IF(ROW(1:21)=21,"",SUBTOTAL(4,OFFSET(A2,,,ROW(1:21)))&100+C2:C22&B2:B22)),{1,9,7},{5,20,2}),"[>1e4]e-m-d;[<100]#") 多谢版主提醒,不过字符有点多。内存数组 |
6楼 syz105729913 |
公式最后的 ;[<100]# 可以省略。 |
7楼 xcd |
内存数组,有点长 |
8楼 足往神留 |
看了7楼许版主的公式,我不敢发了。我用了两个公式,而许版一个内存数组公式,太精彩了! 回复后看到了5楼棉花糖的公式,只能说,更精彩! |
9楼 wshcw |
精采,学习. |
10楼 xcd |
兄台在百度EXCEL吧诸多好贴令人印象深刻! |
11楼 rongjun |
公布我的答案(四种解法): 第一种解法:两个公式(普通数组+多单元格数组) F2:G21输入多单元格数组公式
E2输入普通数组公式,下拉
第二种解法:普通数组 E2输入普通数组公式,下拉,右拉
第三种解法:多单元格数组(隐含交叉引用) E2:G21输入多单元格数组公式
第四种解法:内存数组
|
12楼 西山晴雪 |
越来越精彩了 |
13楼 _s_bri |
学习来了! |
14楼 donghan |
xiazaixuexi |
15楼 gulyxxf |
学习,学习 |
16楼 Cowisen |
太多公式嵌套了,精彩! 下载下来慢慢学习 |
17楼 aszhanghong |
现在发现自己太需要学习了 |
18楼 JLxiangwei |
看答案 |
19楼 fly_fu |
勁呀!咁多位師兄姊 |
20楼 bluexuemei |
学习学习 |
21楼 fangjianp |
E2=TEXT(OFFSET(A$1,SMALL((COUNTIF(OFFSET($B$1:$B$21,ROW($1:$20),),$B$2:$B$21)>1)/1%+LOOKUP(ROW($1:$20),ROW($1:$20)/(A$2:A$21<>"")),ROW(A1)),),"[>99]e-M-D;[>0];") 公式长度:159 右拉下拉 |
22楼 玉丫头 |
学习 |