Excel2016:根据多个条件生成ID(无VBA)
Excel2016: Generate ID based on multiple criteria (no VBA)
我正在尝试根据课程、日期和时间生成批次 ID。所有具有相同 Course+Date+Time
组合的行都应具有相同的批次 ID。所有后续组合都应具有增量 ID
Batch ID = LEFT(C2,3)&TEXT(<code formula>,"000")
没有 VBA,只有 Excel 2016 公式,请。
示例数据快照
有点困难,但请尝试 F2
:
=IF(COUNTIFS(C:C2,C2,D:D2,D2,E:E2,E2)>1,LOOKUP(2,1/((C:C1=C2)*(D:D1=D2)*(E:E1=E2)),F:F1),UPPER(LEFT(C2,3))&TEXT(MAX(IFERROR((LEFT(F:F1,3)=LEFT(C2,3))*RIGHT(F:F1,3),0))+1,"000"))
通过CtrlShift回车
分三步满足您的要求,而不是一个公式,会更容易、更易读。
根据课程、日期和时间创建唯一 ID。
公式:
=CONCATENATE(UPPER(LEFT($C3,3)),TEXT($D3,"ddmmyy"),TEXT($E3,"hhmm"))
细分:
LEFT($C3,3) - 取课程的前三个字符
UPPER() = 将课程的前三个字符大写
TEXT($D3,"ddmmyy") = 获取日期,将其转换为文本并应用格式
TEXT($E3,"hhmm") = 花点时间,将其转换为文本并应用格式
创建唯一 ID 和批次 ID 的查找 table
复制在第 1 步中创建的所有唯一 ID
将它们粘贴到与您的数据分开的新列中
在“数据”菜单选项卡上,select在数据工具中删除重复项
将批次 ID 添加到查找中。
如果唯一 ID 使用 从 A 到 Z 排序。
,则可以通过公式生成批次 ID
见附图。
查找唯一 ID 以获取批次 ID
=VLOOKUP($F3,$I$3:$J$7,2,FALSE)
我正在尝试根据课程、日期和时间生成批次 ID。所有具有相同 Course+Date+Time
组合的行都应具有相同的批次 ID。所有后续组合都应具有增量 ID
Batch ID = LEFT(C2,3)&TEXT(<code formula>,"000")
没有 VBA,只有 Excel 2016 公式,请。
示例数据快照
有点困难,但请尝试 F2
:
=IF(COUNTIFS(C:C2,C2,D:D2,D2,E:E2,E2)>1,LOOKUP(2,1/((C:C1=C2)*(D:D1=D2)*(E:E1=E2)),F:F1),UPPER(LEFT(C2,3))&TEXT(MAX(IFERROR((LEFT(F:F1,3)=LEFT(C2,3))*RIGHT(F:F1,3),0))+1,"000"))
通过CtrlShift回车
分三步满足您的要求,而不是一个公式,会更容易、更易读。
根据课程、日期和时间创建唯一 ID。
公式:
=CONCATENATE(UPPER(LEFT($C3,3)),TEXT($D3,"ddmmyy"),TEXT($E3,"hhmm"))
细分:
LEFT($C3,3) - 取课程的前三个字符
UPPER() = 将课程的前三个字符大写
TEXT($D3,"ddmmyy") = 获取日期,将其转换为文本并应用格式
TEXT($E3,"hhmm") = 花点时间,将其转换为文本并应用格式
创建唯一 ID 和批次 ID 的查找 table
复制在第 1 步中创建的所有唯一 ID
将它们粘贴到与您的数据分开的新列中
在“数据”菜单选项卡上,select在数据工具中删除重复项
将批次 ID 添加到查找中。
如果唯一 ID 使用 从 A 到 Z 排序。
,则可以通过公式生成批次 ID见附图。
查找唯一 ID 以获取批次 ID
=VLOOKUP($F3,$I$3:$J$7,2,FALSE)