Ячейка формулы Excel на основе цвета фона

Мне нужна формула в EXCEL, которая помещает число 1 в ячейку рядом с ячейкой, где фон ячейки КРАСНЫЙ. Смотрите пример ниже.

введите описание изображения здесь

Возможно ли это вообще без VBA?

3 ответа

Решение

Откройте редактор VBA и добавьте новый модуль. Сделайте это, перейдя в Developer вкладка и нажатие Visual Basic, Если у вас нет вкладки разработчика на ленте, вам нужно добавить ее (выполните быстрый поиск в Google). После открытия редактора VBA щелкните правой кнопкой мыши проект VBA, в котором слева находится название вашей книги, и вставьте модуль.

Поместите следующий код в новый модуль:

Function IsRed(rng As Range) As Integer
    IsRed = (rng.Interior.Color = vbRed) * -1
End Function

тогда вы можете использовать формулу =IsRed(A1) определить, если A1 имеет красный фон

примечание: здесь используется красный по умолчанию в стандартных цветах

Это можно сделать из Name Manager к этому можно получить доступ, нажав Ctrl+F3.

Вы захотите создать именованную ссылку (я назвал это "цветом") и сделать так, чтобы она ссылалась на =GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),0,-1)) в строке формул.

Теперь вы можете использовать эту 1 ячейку справа, чтобы определить номер индекса цвета ячейки:

пример

Так как красный - это индекс цвета 3 в ячейке рядом с ним, вы можете применить формулу:

=IF(color=3,1,0)

Вы можете достичь этого вручную без VBA, используя автофильтр:

  1. Убедитесь, что у вас есть заголовок над столбцом с цветами и над столбцом, в который вы хотите поместить значение 1

  2. Добавить автофильтр (выберите оба столбца, нажмите кнопку "Фильтр" на вкладке "Данные" на ленте)

  3. Нажмите раскрывающийся фильтр на столбце с цветами, затем нажмите Фильтр по цвету, выберите красный цвет

  4. Во втором столбце введите 1 в каждой видимой ячейке. (Введите 1 в первой ячейке, затем заполните. Или выберите все ячейки, введите 1, затем нажмите ctrl-enter)

Другие вопросы по тегам