发布网友 发布时间:2022-04-23 00:49
共5个回答
热心网友 时间:2023-10-11 15:28
假定你Sheet1的数据区域是在A3:D1000具体区域请根据实际情况修改 ,在SHEET2中的A2输入公式右拉。
=INDEX(Sheet1!A$3:A$1000,SMALL(IF(Sheet1!$C3:$C1000>DATE(2012,6,1),ROW($1:$998),998),ROW(A1)))&""
在SHEET2中的C2输入公式下拉。
=TEXT(INDEX(Sheet1!C$3:C$1000,SMALL(IF(Sheet1!$C3:$C1000>DATE(2012,6,1),ROW($1:$998),998),ROW(C1)))&"","e-mm-dd")
以上都是数组公式,输入完成不要直接回车,要按CTRL+SHIFT+回车 结束。
追问谢谢!没想到用函数这么复杂的,怪不得我今天上午弄了一上午没弄出来。
追答呵呵。 不客气,数据量多的情况下还是用筛选功能好点,速度比函数要快。如果是学习函数的目的,平时要多看、多练、多想。学到有点基础时就来百度知道答题呀,我就是这样走过来的。
热心网友 时间:2023-10-11 15:29
推荐对“服役日期”使用自动筛选方法处理。
热心网友 时间:2023-10-11 15:29
由于编号是唯一的,不需要用if,直接用vlookup()即可,具体用法如下:
热心网友 时间:2023-10-11 15:30
在sheet2的
a2单元格输入
=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$1:$C$1000>DATE(2012,6,1),ROW(A$1:A$1000)),ROW(A1)))&""
ctrl+shift+enter
三键结束,下拉,右拉
c2公式是
=TEXT(INDEX(Sheet1!C:C,SMALL(IF(Sheet1!$C$1:$C$1000>DATE(2012,6,1),ROW(C$1:C$1000)),ROW(C1)))&"","yyyy-m-d")
ctrl+shift+enter三键结束,下拉,复制
复制a列公式到d列
刚才公式有点问题,不好意思
现在看看出来的结果
追问谢谢!没想到用函数这么复杂的,怪不得我今天上午弄了一上午没弄出来。追答不客气,像这样的问题只能用数组来完成,类似的问题还有,提取不重复的值,满足某个条件所有的值 vlookup只是一一对应的关系,建议你到excel home论坛看看,论坛高手云集,对提高excel水平很有帮助
热心网友 时间:2023-10-11 15:30
直接用自动筛选会更省事儿些。追问嗯是的,其实主要目的是练习函数,只有这样才能掌握。