我在一个excel文件中有2张,第一张是:
工作表:人
Code date start end
2301 12/08/1993 08:02 08:17
4221 12/08/1993 09:04 09:25
2312 12/08/1993 10:02 10:28
1284 19/09/1994 11:02 11:21
2312 19/09/1994 15:57 16:20
1284 23/06/1995 17:12 17:35
2312 22/06/1996 13:14 13:32
4221 22/06/1996 15:53 16:13
4221 05/05/1999 08:06 08:22
2418 05/05/1999 08:10 08:33
2301 05/05/1999 09:12 09:37
2301 05/05/1999 09:28 10:28
2301 05/05/1999 13:28 13:38
是公司的人员列表,其中任何人都是通过徽章[行Code
]标识的,我希望通过code
将数据合并到一个人的服装表中,例如,对于拥有多个徽章2301的人,他有自己的名为B2301的表,所以根据第一张“人物”,我希望导入一个人的导入数据,例如按此人的code
个数分组:
表B2301
date Period(min)
12/08/1987 12
.... ...
因此,时间段将从start
和end
行计算。
我尝试使用这个公式,但它对我不起作用:
=IFERROR(INDEX(Sheet1!A$2:A$14,SMALL(IF(Sheet1!$A$2:$A$14=INT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))),ROW(Sheet1!A$2:A$14)-ROW(Sheet1!A$2)+1),ROWS(Sheet1!A$2:A2))),"")
任何想法?
答案 0 :(得分:0)
这需要您进行大量研究。您需要:
这不是一个微不足道的代码。研究这6个项目并编写代码。当你拥有它,显示它,我们可以给你更多的方向。
答案 1 :(得分:0)
要填充日期,请在A2中填写:
=IFERROR(INDEX(Sheet1!$B$2:$B$14,MATCH(SMALL(IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,Sheet1!$B$2:$B$14),ROW()-1),IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,Sheet1!$B$2:$B$14),0)),"")
要填充时间段,请将其放入B2:
=IFERROR(TEXT(INDEX(Sheet1!$D$2:$D$14,MATCH(SMALL(IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,IF(Sheet1!$B$2:$B$14=A2,Sheet1!$C$2:$C$14)),COUNTIF($A$1:$A2,A2)),IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,IF(Sheet1!$B$2:$B$14=A2,Sheet1!$C$2:$C$14)),0))-INDEX(Sheet1!$C$2:$C$14,MATCH(SMALL(IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,IF(Sheet1!$B$2:$B$14=A2,Sheet1!$C$2:$C$14)),COUNTIF($A$1:$A2,A2)),IF(--MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),2,999) = Sheet1!$A$2:$A$14,IF(Sheet1!$B$2:$B$14=A2,Sheet1!$C$2:$C$14)),0)),"[m]"),"")
两者都是数组公式,需要使用Ctrl-Shift-Enter确认。然后将两者复制到所需的行。