docs: def filter_by_col(self, column_names):
          """filters sheet/table by columns (input is column header)
  
          The routine returns the serial numbers with values>1 in the selected
          columns.
  
          Args:
              column_names (list): the column headers.
  
          Returns:
              pandas.DataFrame
          """
  
          if not isinstance(column_names, (list, tuple)):
              column_names = [column_names, ]
  
          sheet = self.table
          identity = self.db_sheet_cols.id
          exists = self.db_sheet_cols.exists
          criterion = True
  
          for column_name in column_names:
              _criterion = sheet.loc[:, column_name] > 0
              _exists = sheet.loc[:, exists] > 0
              criterion = criterion & _criterion & _exists
  
          return sheet.loc[criterion, identity].values.astype(int)