Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 14:10:54

Войти
Название темы должно отражать её содержание.
Темы типа "ПОМОГИТЕ!!!", "Срочно!", "Не получается сделать", "Нужна помощь" и т.п. будут удаляться без объяснения причин
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по работе в Google-таблицах
| | |-+  Название цвета ячейки согласно ее залития
Страниц: [1]   Вниз
Печать
Автор Тема: Название цвета ячейки согласно ее залития  (Прочитано 2268 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Иулия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 22


Просмотр профиля
« : 17.11.2022, 11:51:23 »

Здравствуйте! Нужна формула, которая вставляла бы в соседнюю ячейку название цвета, например "оранжевый" согласно кода цвета залитой рядом ячейки.
Например А1 желтая, в ячейке В1 указывается цвет "желтый".
Возможно ли такое?
Цветов немного, всего четыре, в том числе и не залитые есть, их тоже нужно определить как белые или какой код у таких ячеек...
Я так понимаю, что нужно вначале определить код цвета, а потом на основании его дать имя, я не могу в гугл-таблице и кода определить.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #1 : 18.11.2022, 13:01:15 »

я не могу в гугл-таблице
так вопрос про Excel или про Гугл-Таблицы? Просто для Гугл у нас отдельная ветка в форуме - это две разные программы.
Ну и сразу скажу - формул встроенных таких нет, надо писать скрипт.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Иулия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 22


Просмотр профиля
« Ответ #2 : 18.11.2022, 14:03:51 »

Не туда написала)) сейчас перепишу в новой ветке.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #3 : 18.11.2022, 18:18:55 »

сейчас перепишу в новой ветке
Нельзя этого делать - в правилах написано. Дубли тем не нужны. Достаточно написать, чтобы тему перенесли в нужный раздел.
По существу: я уже написал, что сделать это возможно исключительно скриптами. Умеете со скриптами работать?
В общем не знаю, умеете или нет - в скриптах создаете модуль(если его еще нет) и записываете код функции:
Код: (js)
/**
 * возвращает код цвета заливки ячейки
 * @param {A1} colorRef Ссылка на ячейку, код цвета которой надо определить
 * @customfunction
 */
function CelColor(colorRef) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var color_cell = sheet.getRange(colorRef);
  var color = color_cell.getBackground();
  return color;
};


Т.к. в Google проблемы с обращением к ячейкам через ссылки(как в Excel), то проще на листе формулу записать так:
=CelColor(Cell("address";B3))
т.е. применить дополнительно встроенную функцию Cell, чтобы в свою функцию передать именно Адрес ячейки в текстовом виде. Проанализируете возвращаемые коды и либо совместно с встроенными функциями, либо в скрипте можно будет уже дописать какой код какому текстовому названию соответствует.
« Последнее редактирование: 18.11.2022, 18:45:29 от Дмитрий Щербаков(The_Prist) » Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Иулия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 22


Просмотр профиля
« Ответ #4 : 19.11.2022, 11:01:55 »

Здравствуйте! Да, со скриптами умею. Спасибо большое! Буду пробовать.
Записан
Иулия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 22


Просмотр профиля
« Ответ #5 : 20.11.2022, 13:48:28 »

У меня все получилось.
Я название цвета в формулу прописала через если.
Но, если я вдруг заливаю ячейку другим цветом (для теста в том числе), у меня код не меняется сразу, только если я произвожу какие-то действия, например, добавлю столбец рядом, после обновления страницы тоже не обновляет. Почему такое происходит?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #6 : 22.11.2022, 10:48:29 »

Почему такое происходит?
потому что скрипт не может запускаться при изменении формата ячейки. Никакой. Даже события такого нет. Поэтому после смены заливки в обязательном порядке надо пересчитывать функции принудительно.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Иулия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 22


Просмотр профиля
« Ответ #7 : 24.11.2022, 18:32:34 »

Спасибо огромное за информацию!!!
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru