Горизонтальные спарклайны с отрицательными числами в G. Sheets

Я пытаюсь создать формулу спарклайна в Google Sheets для горизонтальной полосы с отрицательными числами для отслеживания бюджета проекта.

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

Полосы должны выглядеть примерно так:

В предоставленном документе вы можете увидеть мою попытку создания формулы.

Примечание: я использую европейские разделители, поэтому в более сложных формулах может возникнуть путаница, где ставить ";" или «», для уровня знаний, которыми я обладаю в данный момент.

Заранее благодарю за помощь!

Обновлено: Возможно, возможно решение в двух столбцах. С функцией if, где отрицательные числа идут влево в первом столбце, а если число положительное, идут вправо во втором столбце.

может это поможет...
rockinfreakshow 24.04.2024 14:59

Спасибо! Я уже пробовал этот подход, но проблема в том, что max и min для одного и того же набора одинаковы. Мне нужен другой набор для каждой ячейки.

Igor K 24.04.2024 15:23

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

rockinfreakshow 24.04.2024 15:28

Спасибо за предложение. Сделал правку, выложил картинку как должны выглядеть бары.

Igor K 25.04.2024 10:18

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

rockinfreakshow 25.04.2024 13:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
349
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Согласно документации:Спарклайн, Sparkline function в Google Таблицах не включает положение спарклайна внутри ячейки посредством самой формулы. (Хотя у него есть Right-to-Left feature, который может вам пригодиться). Вместо этого он предоставляет только параметры внешнего вида спарклайна, такие как тип символа, который включает bar charts, как вы упомянули, цвет, форматирование и так далее.

Кроме того, в гистограммах в ячейке можно использовать только два цвета. Сколько цветов может иметь спарклайн в Google Таблицах?

С другой стороны, вы можете выбрать альтернативный метод, если это необходимо. Делюсь здесь еще одной ссылкой, которая может вам помочь: Все, что вы хотели знать о спарклайнах в Google Таблицах

Примечание. Я не являюсь аффилированным лицом и не являюсь владельцем сайта.

Ответ принят как подходящий

Подход 1

=map(A2:A;C2:C;lambda(a;c;if (or(a = "";c = "");;
 sparkline(let(Σ;c/a;hstack(1+min(max(Σ;-1);0);min(0;max(Σ;-1));max(0;Σ)));{"charttype"\"bar";"max"\2;"color1"\"white";"color2"\"#ec417a";"color3"\"#63d297"}))))

Подход 2 (2-column approach)

=map(A2:A11;C2:C11;lambda(a;c;let(Σ;c/a;if (Σ>0;
 hstack(;sparkline(Σ;{"charttype"\"bar";"max"\1;"color1"\"#63d297"}));
 hstack(sparkline(Σ;{"charttype"\"bar";"max"\1;"color1"\"#ec417a";"rtl"\true});))))) 

Это прекрасно работает. Мне больше нравится второй подход (он визуально лучше). Есть ли способ сделать белый цвет полностью прозрачным, чтобы слева от полосы был вместо белого цвет, а только тот, который находится на заднем плане? Я бы сам сопоставил цвет в формуле, но что мне действительно нужно, так это полная прозрачность, ведь таблица имеет условное форматирование (чередование цветов). Если нет кода для полной прозрачности, другой подход может заключаться в использовании формулы, которую я могу перетащить вниз, а затем изменить цвет там, где это необходимо.

Igor K 25.04.2024 14:22

Мне неизвестен параметр прозрачности. для перетаскивания просто используйте =map(A2;C2; вместо =map(A2:A11;C2:C11;

rockinfreakshow 25.04.2024 14:25

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

Igor K 25.04.2024 14:56

Воссоздайте это в своем тестовом листе, и я смогу это проверить.

rockinfreakshow 25.04.2024 15:09

В новой таблице вы можете найти данные, и я отметил, где проблема. Спасибо за поддержку!

Igor K 25.04.2024 15:23

протестируйте обновленную формулу, добавленную в Column_L

rockinfreakshow 25.04.2024 17:00

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