注意:我已经检查了这个count unique text values based on condition in another column between date criteria并且它无法解决我的问题。
我有一个包含姓名及其组的Excel图表。我希望按组分别计算,不重复。请参阅唯一(需求)列以获取所需的输出。目的是计算每月第一次出现的人数。
def isIn(char, aStr):
'''
char: a single character
aStr: an alphabetized string
returns: True if char is in aStr; False otherwise
'''
b = sorted(aStr)
c = len(aStr)
# print("string b " + str(b))
# print("c " + str(c))
# print("element middle: " + str(b[round(c/2)]))
#print("char: " + str(char))
#print(str(char) == str(b[round(c/2)]))
if ((str(char) == str(b[round(c/2)]))): # this if statement does not seem to fire
return True
elif (c == 1 and char != str(b[round(c/2)])) or (c == 0 and char != "") :
return False
#print("false")
else:
#if str(char) == str(b[round(c/2)]):
# return True
# print("true")
if char > b[round(c/2)]:
isIn(char, b[round(c/2):c])
elif char < b[round(c/2)]:
isIn(char, b[0:round(c/2)])
else:
return False
#print('fales')
注意:虽然Ryan出现三次,但他只是第一次出现在任何一组中。要求最后一列“唯一”具有1或0,因此我们可以创建一个数据透视表,按“组”分组,如下所示:
Name Group Unique-(NEED THIS COLUMN)
Ryan Jan-16 1
Ryan Jan-16 0
Sam Jan-16 1
Sally Feb-16 1
Ryan Feb-16 0
Sam Mar-16 0
Tom Mar-16 1
Peter Mar-16 1
每个组每月只列出一次名称,即使他们的名字出现在下个月,也不会重复。
答案 0 :(得分:1)
如果名称是从A2开始,标题是A1,你可以在C2中开始使用它并下拉: -
=COUNTIF(A$1:A1,A2)=0
获取true / false值,或
=--(COUNTIF(A$1:A1,A2)=0)
获得1和0。