Проверьте каждое значение в столбце столбца с другими значениями столбца - PullRequest
0 голосов
/ 02 июля 2018

Есть ли способ в Excel или в DAX Я могу проверить, существуют ли все значения одного столбца или нет в другом столбце.

Пример - у меня есть столбец с именем Столбец 1 , где у меня есть некоторые значения, например 4,5,2,1. Теперь я хочу проверить, сколько из этих значений существует в Столбец 2 !

Как вывод, я ожидал, что он может перейти Green, если значение существует еще Red.

enter image description here

Я искал много места, но единственный полезный результат, который я нашел, где я могу найти значение sngle, а не все значения в одном столбце.

Кто-нибудь знает какой-нибудь способ сделать эту работу!

Ответы [ 3 ]

0 голосов
/ 02 июля 2018

Создайте (необязательно скрытый) столбец, который будет соседствовать с вашим поисковым столбцом (в моем примере это будет столбец C - столбцу B)

=IF(ISERROR(VLOOKUP(B1,$A$1:$A$4, 1, 0)), FALSE, TRUE)

Это определит, содержится ли значение в первом списке данных (возвращает true, если оно есть) А потом просто используйте простое условное форматирование

enter image description here

Предоставляет ожидаемый результат:

enter image description here

0 голосов
/ 02 июля 2018

Вы можете сделать это легко, не добавляя скрытые столбцы, как показано ниже. Это будет обновляться в любое время, если вы измените числа в столбце A.

  1. Выберите столбец B
  2. Условное форматирование -> Новое правило -> Используйте формулу, чтобы определить, какие ячейки форматировать
  3. вставить формулу как =OR(B2=$A$2,B2=$A$3,B2=$A$4,B2=$A$5) = TRUE и отформатировать ячейку по своему желанию (здесь, в зеленом)
  4. Повторите шаги с 1 по 2
  5. вставить формулу как =OR(B2=$A$2,B2=$A$3,B2=$A$4,B2=$A$5) = FASLE и отформатировать ячейки по вашему желанию (здесь красным)
  6. Выберите ячейку имени столбца (чтобы удалить форматирование заголовка столбца)
  7. Условное форматирование -> Очистить правило -> Очистить правила из выбранных ячеек

Result

0 голосов
/ 02 июля 2018

Поскольку вы упоминаете Python, это возможно программно с библиотекой Pandas:

import pandas as pd

# define dataframe, or read in via df = pd.read_excel('file.xlsx')
df = pd.DataFrame({'col1': [4, 5, 2, 1] + [np.nan]*4,
                   'col2': [6, 8, 3, 4, 1, 6, 3, 4]})

# define highlighting logic    
def highlight_cols(x):
    res = []
    for i in x:
        if np.isnan(i):
            res.append('')
        elif i in set(df['col2']):
            res.append('background: green')
        else:
            res.append('background: red')
    return res

# apply highlighting logic to first column only
res = df.style.apply(highlight_cols, subset=pd.IndexSlice[:, ['col1']])

Результат:

enter image description here

...