我有一个客户列表,其中列出了所有下过订单的客户。我想创建一个新列,告诉我每个客户的订单是第 1 个、第 2 个、第 3 个等等,例如:
Customer Order # New Flag
customer 1 12345 1st Order
customer 1 12346 2nd Order
Customer 2 12347 2nd Order
Customer 2 12344 1st Order
Customer 3 11112 1st Order
Customer 3 12332 3rd Order
Customer 3 11123 2nd Order
答案1
如果我正确理解了您的问题。请尝试此解决方案。可以在单元格中创建单个公式,但它太长了,所以我使用两列方法。如果您有 Excel 365,您可以使用 LET 函数缩短它。
请参阅下面的截图。
E3 中的公式是
=1+SUMPRODUCT(($C$3:$C$12=C3)*($D$3:$D$12<D3))
并按您的需要使用 F3 将其转换为序数系统。
=E3&IF(OR(VALUE(RIGHT(E3,2))={11,12,13}),"th",IF(OR(VALUE(RIGHT(E3,1))={1,2,3}),CHOOSE(RIGHT(E3,1),"st","nd","rd"),"th")) & " Order"
请注意,在旧版本的 Excel 中,第二个公式可能需要通过同时在公式栏中按CTRL+ SHIFT+来创建数组公式。否则可能无法正常工作。ENTER
如果您所在地区的列表分隔符是;而不是,则您需要在相同的公式中用分号替换逗号。