Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Использование формулы "ИЛИ" в условном форматировании - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Использование формулы "ИЛИ" в условном форматировании
tkryt26 Дата: Пятница, 07.10.2022, 09:26 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Создаю шахматку гостиницы, в которой вбивая данные гостя на одном листе, на другом листе автоматически закрашиваются клетки номеров занятых гостями.
В excel получилось применить формулу =ИЛИ(($A6=Гости!$A$2:$A$156)*(D$4>=Гости!$C$2:$C$156)*(D$4<Гости!$E$2:$E$156))
Однако, когда эту же формулу использую в Google таблицах формула показывается не верной или автоматического закрашиванияне происходит.
Во вложении приклепил рабочую exсel.
В чем проблема, может для google таблиц нужна другая формула?
К сообщению приложен файл: 7944680.xlsx (25.0 Kb)
 
Ответить
СообщениеСоздаю шахматку гостиницы, в которой вбивая данные гостя на одном листе, на другом листе автоматически закрашиваются клетки номеров занятых гостями.
В excel получилось применить формулу =ИЛИ(($A6=Гости!$A$2:$A$156)*(D$4>=Гости!$C$2:$C$156)*(D$4<Гости!$E$2:$E$156))
Однако, когда эту же формулу использую в Google таблицах формула показывается не верной или автоматического закрашиванияне происходит.
Во вложении приклепил рабочую exсel.
В чем проблема, может для google таблиц нужна другая формула?

Автор - tkryt26
Дата добавления - 07.10.2022 в 09:26
_Boroda_ Дата: Пятница, 07.10.2022, 10:57 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Попробуйте вместо ИЛИ написать СУММ или СУММПРОИЗВ


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПопробуйте вместо ИЛИ написать СУММ или СУММПРОИЗВ

Автор - _Boroda_
Дата добавления - 07.10.2022 в 10:57
bigor Дата: Пятница, 07.10.2022, 11:15 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1267
Репутация: 244 ±
Замечаний: 0% ±

нет
или так записать =ArrayFormula(ваша формула)
 
Ответить
Сообщениеили так записать =ArrayFormula(ваша формула)

Автор - bigor
Дата добавления - 07.10.2022 в 11:15
tkryt26 Дата: Пятница, 07.10.2022, 15:06 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Не помогло, однако вместо того, чтобы вставлять эту формулу в условное форматирование, я поставил ее в сами ячейки. При использовании ArrayFormula писалось ИСТИНА или ЛОЖЬ, при использовании СУММПРОИЗВ 1 или 0. В условном форматировании, поставил если в клетке значение больше или равно 1, то закрасить.
Если есть предложения по лучше, то буду рад услышать совет)


Сообщение отредактировал tkryt26 - Пятница, 07.10.2022, 15:30
 
Ответить
СообщениеНе помогло, однако вместо того, чтобы вставлять эту формулу в условное форматирование, я поставил ее в сами ячейки. При использовании ArrayFormula писалось ИСТИНА или ЛОЖЬ, при использовании СУММПРОИЗВ 1 или 0. В условном форматировании, поставил если в клетке значение больше или равно 1, то закрасить.
Если есть предложения по лучше, то буду рад услышать совет)

Автор - tkryt26
Дата добавления - 07.10.2022 в 15:06
Gustav Дата: Пятница, 07.10.2022, 15:39 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
В Гугл таблицах в формуле условного форматирования можно напрямую ссылаться на диапазоны только того же листа, где находится УФ. На диапазоны других листов в УФ нужно ссылаться через функцию ДВССЫЛ(INDIRECT):
Цитата
Use advanced conditional formatting

Note: Formulas can only reference the same sheet, using standard notation "(='sheetname'!cell)." To reference another sheet in the formula, use the INDIRECT function.

Вот в таком виде, следуя совету Александра _Boroda_, удалось заставить формулу для УФ работать (формула для ячейки D6):
[vba]
Код
=OR(SUMPRODUCT(
$A6=INDIRECT("Гости!$A$2:$A$36");
D$4>=INDIRECT("Гости!$C$2:$C$36");
D$4<INDIRECT("Гости!$E$2:$E$36")))
[/vba]
Что-то тэг обычной формулы не захотел отображать всю формулу - обрывает на последнем условии %) :
Код
=OR( SUMPRODUCT( $A6=INDIRECT("Гости!$A$2:$A$36"); D$4>=INDIRECT("Гости!$C$2:$C$36"); D$4<INDIRECT("Гости!$E$2:$E$36") ))

Хотя в предпросмотре формулы всё нормально отображает...


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 07.10.2022, 15:51
 
Ответить
СообщениеВ Гугл таблицах в формуле условного форматирования можно напрямую ссылаться на диапазоны только того же листа, где находится УФ. На диапазоны других листов в УФ нужно ссылаться через функцию ДВССЫЛ(INDIRECT):
Цитата
Use advanced conditional formatting

Note: Formulas can only reference the same sheet, using standard notation "(='sheetname'!cell)." To reference another sheet in the formula, use the INDIRECT function.

Вот в таком виде, следуя совету Александра _Boroda_, удалось заставить формулу для УФ работать (формула для ячейки D6):
[vba]
Код
=OR(SUMPRODUCT(
$A6=INDIRECT("Гости!$A$2:$A$36");
D$4>=INDIRECT("Гости!$C$2:$C$36");
D$4<INDIRECT("Гости!$E$2:$E$36")))
[/vba]
Что-то тэг обычной формулы не захотел отображать всю формулу - обрывает на последнем условии %) :
Код
=OR( SUMPRODUCT( $A6=INDIRECT("Гости!$A$2:$A$36"); D$4>=INDIRECT("Гости!$C$2:$C$36"); D$4<INDIRECT("Гости!$E$2:$E$36") ))

Хотя в предпросмотре формулы всё нормально отображает...

Автор - Gustav
Дата добавления - 07.10.2022 в 15:39
tkryt26 Дата: Суббота, 08.10.2022, 10:04 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Получилось, все отлично работает, спасибо!
 
Ответить
СообщениеПолучилось, все отлично работает, спасибо!

Автор - tkryt26
Дата добавления - 08.10.2022 в 10:04
Gustav Дата: Суббота, 08.10.2022, 20:21 | Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Ну, и хорошо! Кстати, можно убрать из формулы опоясывающую функцию OR, единственным предназначением которой здесь является перевод вычисленного по SUMPRODUCT числового значения "не ноль" в TRUE, а "ноль" - в FALSE, так как УФ числовые значения и само неявно использует таким же образом.

А если далее формулу вообще убрать из УФ и ввести в ячейки (выше в процессе поиска решения Вы что-то такое уже и сами делали), то получающиеся значения будут такими:
[vba]
Код
0 - номер свободен,
1 - номер занят,
2 и более - номер забронирован дважды (или более, т.е. повторно, "пересечение") и ситуация требует срочного "разруливания".
[/vba]И тогда, действительно, сделать совсем простое УФ:
[vba]
Код
на значение 1 - например, красная заливка, как сейчас
на значение 2 и более - например, жёлтая заливка - как сигнал "требуется вмешательство".
[/vba]По-моему, будет очень наглядно. К тому же, по вертикали (по датам) Вы дальше, наверняка, ежедневно захотите считать занятые (или свободные) номера - вот тут-то числа и пригодятся.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеНу, и хорошо! Кстати, можно убрать из формулы опоясывающую функцию OR, единственным предназначением которой здесь является перевод вычисленного по SUMPRODUCT числового значения "не ноль" в TRUE, а "ноль" - в FALSE, так как УФ числовые значения и само неявно использует таким же образом.

А если далее формулу вообще убрать из УФ и ввести в ячейки (выше в процессе поиска решения Вы что-то такое уже и сами делали), то получающиеся значения будут такими:
[vba]
Код
0 - номер свободен,
1 - номер занят,
2 и более - номер забронирован дважды (или более, т.е. повторно, "пересечение") и ситуация требует срочного "разруливания".
[/vba]И тогда, действительно, сделать совсем простое УФ:
[vba]
Код
на значение 1 - например, красная заливка, как сейчас
на значение 2 и более - например, жёлтая заливка - как сигнал "требуется вмешательство".
[/vba]По-моему, будет очень наглядно. К тому же, по вертикали (по датам) Вы дальше, наверняка, ежедневно захотите считать занятые (или свободные) номера - вот тут-то числа и пригодятся.

Автор - Gustav
Дата добавления - 08.10.2022 в 20:21
ekaterinaserg13 Дата: Понедельник, 15.05.2023, 08:54 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Google Sheets
tkryt26, Добрый день. формула работает, но день выезда не закрашивает в шахматке. Подскажите пжл как вы решили данную проблему?


Екатерина

Сообщение отредактировал ekaterinaserg13 - Понедельник, 15.05.2023, 09:09
 
Ответить
Сообщениеtkryt26, Добрый день. формула работает, но день выезда не закрашивает в шахматке. Подскажите пжл как вы решили данную проблему?

Автор - ekaterinaserg13
Дата добавления - 15.05.2023 в 08:54
ekaterinaserg13 Дата: Понедельник, 15.05.2023, 09:10 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Google Sheets
Gustav, Добрый день. подскажите пжл как это реализовать?


Екатерина
 
Ответить
СообщениеGustav, Добрый день. подскажите пжл как это реализовать?

Автор - ekaterinaserg13
Дата добавления - 15.05.2023 в 09:10
Gustav Дата: Понедельник, 15.05.2023, 11:36 | Сообщение № 10
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Цитата ekaterinaserg13, 15.05.2023 в 08:54, в сообщении № 8 ()
день выезда не закрашивает в шахматке

Цитата ekaterinaserg13, 15.05.2023 в 09:10, в сообщении № 9 ()
подскажите пжл как это реализовать?

Технически - очень просто. Надо в последнем условии формулы из сообщения №5 знак "меньше" заменить на "меньше или равно":
[vba]
Код
D$4<=INDIRECT("Гости!$E$2:$E$36")
[/vba]
Концептуально же - не знаю, насколько правильно так делать. Сейчас закрашенные ячейки символизируют кол-во ночей (суток) проживания, а когда закрасим и день выезда, то всё станет на единицу больше, а последовательные брони одного и того же номера начнут "пересекаться" днями выезда\заезда. По-моему, визуально смотреться будет существенно хуже, не говоря о том, что нужно будет всегда держать в мыслях эту лишнюю "единицу" дней проживания.

Впрочем, хозяин - барин. "Запретить" я Вам, конечно, не могу, а как технически осуществить - уже рассказал.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 15.05.2023, 11:37
 
Ответить
Сообщение
Цитата ekaterinaserg13, 15.05.2023 в 08:54, в сообщении № 8 ()
день выезда не закрашивает в шахматке

Цитата ekaterinaserg13, 15.05.2023 в 09:10, в сообщении № 9 ()
подскажите пжл как это реализовать?

Технически - очень просто. Надо в последнем условии формулы из сообщения №5 знак "меньше" заменить на "меньше или равно":
[vba]
Код
D$4<=INDIRECT("Гости!$E$2:$E$36")
[/vba]
Концептуально же - не знаю, насколько правильно так делать. Сейчас закрашенные ячейки символизируют кол-во ночей (суток) проживания, а когда закрасим и день выезда, то всё станет на единицу больше, а последовательные брони одного и того же номера начнут "пересекаться" днями выезда\заезда. По-моему, визуально смотреться будет существенно хуже, не говоря о том, что нужно будет всегда держать в мыслях эту лишнюю "единицу" дней проживания.

Впрочем, хозяин - барин. "Запретить" я Вам, конечно, не могу, а как технически осуществить - уже рассказал.

Автор - Gustav
Дата добавления - 15.05.2023 в 11:36
ekaterinaserg13 Дата: Понедельник, 15.05.2023, 18:14 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Google Sheets
Gustav, спасибо большое. помогло
Вот сама не знаю как этот день выезда/заезда реализовать


Екатерина
 
Ответить
СообщениеGustav, спасибо большое. помогло
Вот сама не знаю как этот день выезда/заезда реализовать

Автор - ekaterinaserg13
Дата добавления - 15.05.2023 в 18:14
Gustav Дата: Понедельник, 15.05.2023, 20:07 | Сообщение № 12
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Цитата ekaterinaserg13, 15.05.2023 в 18:14, в сообщении № 11 ()
не знаю как этот день выезда/заезда реализовать

На "сетке" с ценой деления "один день" - никак. На этой сетке надо играть по правилам, установленным tkryt26.

Но сетку можно мельчить, делая цену деления равной, скажем, половине суток. В такой сетке на каждый день будет приходиться две ячейки (два столбца), но уже сможете худо-бедно изобразить по отдельности предыдущий выезд и новый заезд в течение одних суток. Можно пойти дальше и разбить сутки на 12 двухчасовых интервалов (потребуются 12 столбцов таблицы на один день календаря) - тогда сможете отобразить и чек-ин в 14:00, и чек-аут в 12:00. Всё зависит от целей использования разрабатываемого инструмента - вашей таблицы.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата ekaterinaserg13, 15.05.2023 в 18:14, в сообщении № 11 ()
не знаю как этот день выезда/заезда реализовать

На "сетке" с ценой деления "один день" - никак. На этой сетке надо играть по правилам, установленным tkryt26.

Но сетку можно мельчить, делая цену деления равной, скажем, половине суток. В такой сетке на каждый день будет приходиться две ячейки (два столбца), но уже сможете худо-бедно изобразить по отдельности предыдущий выезд и новый заезд в течение одних суток. Можно пойти дальше и разбить сутки на 12 двухчасовых интервалов (потребуются 12 столбцов таблицы на один день календаря) - тогда сможете отобразить и чек-ин в 14:00, и чек-аут в 12:00. Всё зависит от целей использования разрабатываемого инструмента - вашей таблицы.

Автор - Gustav
Дата добавления - 15.05.2023 в 20:07
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!