Ячейка формулы Excel на основе цвета фона
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 в каждой видимой ячейке. (Введите 1 в первой ячейке, затем заполните. Или выберите все ячейки, введите 1, затем нажмите ctrl-enter)