有没有办法添加一种"自定义标签"并在Excel中按它们过滤?

时间:2016-11-02 18:10:50

标签: excel

我有一张桌子,里面有很多人。在列上是他们拥有的技能。他们中有很多人。

现在,那里的所有人都在不同的部门,销售部门,商店,CS等工作。其中一些人虽然在多个岗位上工作。没有专栏。

我需要的是一种应用过滤器的方法,该过滤器会给我在销售部门工作的所有人员,但是如果没有列,我就无法使用普通过滤器。

有没有办法可以标记一行"销售"标记,然后筛选具有该标记的人?我还想向不仅仅是一个人添加多个标签,因为他们可以在不同的部门工作。

1 个答案:

答案 0 :(得分:0)

添加新列,但Hide(右键在其标题上并选择import turtle #I start out making the basic turtle commands def lt (turtle, n): turtle.lt(n) def fd (turtle, n): turtle.fd(n) def bk (turtle, n): turtle.bk(n) def rt (turtle, n): turtle.rt(n) #Then i create a class that makes it possible to create a set of rules class Rule(object): #Here the rule based on a description string is initialized like ("F -> F L F L") def __init__(self,repr): #This is where the left and right part of the rule in "F -> F L F L" comes in self.left, self.right = [a.strip() for a in repr.split("->")] if self.left is None or self.right is None: print("Invalid rule description!") #Now i use the same princip like i did in task6. the Apply function def apply_rule_on_elements(self,element): return [self._apply_rule_for_element (element) for element in elements] #This is a helper function that only works on one element at a time def _apply_rule_for_element (self,element): if element == self.left: return self.right.split() return element #Here is a very simple helper function, handy in some cases #This allows one to perform assignment multiple values og grouping def split_command(command, *args): return command, args #Now i make a command class that wraps the execution of a given command class Command(object): def __init__(self,command): #the name and number of arguments for the given command self.name,self.args = split_command(*command.split()) def execute(self,turtle,length): if self.name == "lt": lt(turtle,int(self.args[0])) elif self.name == "scale": length[0] = length[0]*float(self.args[0]) elif self.name == "fd": fd(turtle,length[0]) elif self.name == "bk": bk(turtle,length[0]) elif self.name == "rt": rt(turtle,int(self.args[0])) elif self.name == "nop": pass #Here i write the main Fractal class class Fractal(object): def __init__(self): #Initial and current state self.state = [] #Rules associated with the current fractal self.rules = [] #Commands associated with the current fractal self.commands = {} #since values are immutable and passed by value, I use an array (passed by reference value) #to allow the modification of the variable self.length = [0] #The current depth self.depth = 0 #Executes the command associated w/ the current states stored in the fractal def execute_commands(self,turtle,states): for state in states: self.commands[state].execute(turtle,self.length) #Flattens a list def _flatten(self,l): flattened_list = [] for element in l: flattened_list.extend(element) return flattened_list #Here i compute the fractal, which does that actual iteration work #It returns the state of the fractal after the computation def compute(self): current_depth = self.depth current_state = self.state while self.depth !=0: current_state=self.compute_next_state(current_state) self.depth-=1 return current_state def _compute_next_state(self,state): for rule in self.rules: state = rule.apply_rule_on_elements(state) return self._flatten(state) #This parses the fdl file, creates a fractal and set it up with the values #read in the fdl file def read_fdl(filename): import os f = Fractal() if os.path.exists(filename): lines = open(filename).readlines() for line in lines: if not len(line.strip())==0: name,arguments = split_command(*line.strip().split()) if name == "start": f.state = arguments elif name == "rule": f.rules.append(Rule("".join(arguments))) elif name =="length": f.length = [int(arguments[0])] elif name == "depth": f.depth = int(arguments[0]) elif name == "cmd": f.commands[arguments[0]] = Command("".join (arguments[1:])) else: print("File does not exist") #no check is made, to see if we have a fractal that was completely initialized return f import sys import turtle if len(sys.argv)>1: f=read_fdl(sys.argv[1]) f.execute_commands(turtle,f.compute()) read_fdl("sierpinski") )。