Лист Excel - автоматическое форматирование

Я хочу настроить автоматическое форматирование для моей таблицы данных Excel.

вот есть пример (не мой):

excel datasheet

Как я могу автоматически форматировать строки в зависимости от одного из значений его ячейки, которое не является числом, и без написания большого количества кода?

Я видел "Условное форматирование" с масштабными цветами в Excel 2007. Я хотел бы что-то вроде этого: каждое текстовое значение привязывается к одному цвету. Что-то вроде картографии с теорией 3-х цветов...

24
задан 3498DB
13.05.2023 6:44 Количество просмотров материала 3478
Распечатать страницу

5 ответов

просто go Format|Conditional Formatting и Cell Value is equal to Hold и дайте желтое форматирование. Затем сделайте то же самое для прогресса. Я что-то упускаю?

EDIT: теорема четырех цветов не работает в этом случае. Вы могли бы иметь сотни цветов, поэтому, если вы не выберете каждый из них (вы не используете числовые значения, поэтому вы не можете использовать числа для решения), я не думаю, что это сработает.

1
отвечен Skilldrick 2023-05-14 14:32

вы можете написать формулу, которая возвращает 0 или 1 в зависимости от того, найдет один критерий. Затем создайте несколько условных форматирований для одного диапазона, использующего выходные данные формулы. В качестве альтернативы сделайте формулу более сложной и верните 0,1, .... N для обозначения полного штата (таких как "Г", Нет "х" и "з"). Опять же, используйте перекрывающееся Условное форматирование. Также используйте именованные диапазоны!

1
отвечен Fantomas 2023-05-14 16:49

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

1) Если вы хотите отформатировать строку на основе значения ячейки...тебе немного не повезло. Вы можете только отформатировать ячейку на основе ее значения, так что если вы выбираете строку...это значения в строке, на которой вы основываете его. Единственный способ, которым я знаю об этом, - это кодирование VBA-у других может быть предложение.

2) Если вы хотите форматировать ячейку по-разному на основе текста в ней...выделяем ячейку, идем форматировать - >Условное форматирование. Выберите ту же ячейку в условном члене. Оставьте условие как "значение ячейки" и укажите формат для использования на основе этого текста. Затем можно добавить дополнительные условия для каждого потенциального текстового значения.

0
отвечен user32648 2023-05-14 19:06

я отвечаю на свой вопрос, чтобы опубликовать код VBA:

Sub COLOR(area As Range)
Dim c As Range
Dim a As Long
Dim v As Variant

Dim values As Variant
values = DistinctValues(area)
a = 0
For Each v In values
    a = a Mod 6 + 1
    FindAll(area, v, LookIn:=xlValues, LookAt:=xlWhole).EntireRow.SpecialCells(xlCellTypeConstants).Interior.ThemeColor = a + 4
Next
End Sub

вы можете найти реализацию FindAll и DistinctValue.

Я знаю, что код быстрый и грязный, как VBA. :- p

какое-то объяснение

  • Range.Interior.ThemeColor - это свойства excel 2007, чтобы соответствовать цвету с некоторым набором цветов темы.
  • a Mod 6 + 1 и a + 4 польза выбрать между 6 цветами (Ударение[1-6]) из 12 темы.
  • Range.EntireRow.SpecialCells(xlCellTypeConstants) возвращает все ячейки строки с содержимым. area - это диапазон, где повторы.
0
отвечен enguerran 2023-05-14 21:23

используйте "Условное форматирование", а затем "новое правило" для форматирования:

enter image description here

0
отвечен Eduardo Molteni 2023-05-14 23:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх