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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение формул ПРОСМОТР и ЕСЛИ - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Объединение формул ПРОСМОТР и ЕСЛИ
orangesox77 Дата: Четверг, 07.07.2022, 08:31 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

Функция просмотр ищет в Листе 2 в столбце Y все ячейки, где написано Орландо Сити и берет из последней ячейки с этой надписью значение из столбца J.
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити");'Лист 2'!J7:J1000)


Как добавить одно или несколько условий в эту функцию? Например брать последнее значение из столбца J, если в Y написано Орландо Сити и в столбце O еще есть цифра 2? Пробовал так и так , не работает
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити";'Лист 2'!O7:O1000=2);'Лист 2'!J7:J1000)
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити");'Лист 2'!J7:J1000)*('Лист 2'!O7:O1000=2)


Сообщение отредактировал orangesox77 - Четверг, 07.07.2022, 09:55
 
Ответить
СообщениеФункция просмотр ищет в Листе 2 в столбце Y все ячейки, где написано Орландо Сити и берет из последней ячейки с этой надписью значение из столбца J.
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити");'Лист 2'!J7:J1000)


Как добавить одно или несколько условий в эту функцию? Например брать последнее значение из столбца J, если в Y написано Орландо Сити и в столбце O еще есть цифра 2? Пробовал так и так , не работает
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити";'Лист 2'!O7:O1000=2);'Лист 2'!J7:J1000)
Код
=ПРОСМОТР(2;1/('Лист 2'!Y7:Y1000="Орландо Сити");'Лист 2'!J7:J1000)*('Лист 2'!O7:O1000=2)

Автор - orangesox77
Дата добавления - 07.07.2022 в 08:31
bigor Дата: Четверг, 07.07.2022, 08:51 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1278
Репутация: 246 ±
Замечаний: 0% ±

нет
Позанудствую про правила, где пример и название темы "не в тему".
 
Ответить
СообщениеПозанудствую про правила, где пример и название темы "не в тему".

Автор - bigor
Дата добавления - 07.07.2022 в 08:51
китин Дата: Четверг, 07.07.2022, 09:23 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
orangesox77, поменяйте название темы на более вменяемое
[moder]Исправлено[/moder]


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеorangesox77, поменяйте название темы на более вменяемое
[moder]Исправлено[/moder]

Автор - китин
Дата добавления - 07.07.2022 в 09:23
китин Дата: Четверг, 07.07.2022, 10:24 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Код
=ПРОСМОТР(2;1/(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2));'Лист 2'!J7:J1000)

попробуйте так. а вообще то без файла это гадание на кофейной гуще


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
Код
=ПРОСМОТР(2;1/(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2));'Лист 2'!J7:J1000)

попробуйте так. а вообще то без файла это гадание на кофейной гуще

Автор - китин
Дата добавления - 07.07.2022 в 10:24
bigor Дата: Четверг, 07.07.2022, 10:31 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1278
Репутация: 246 ±
Замечаний: 0% ±

нет
[offtop]
попробуйте так
и где здесь ЕСЛИ :)
[/offtop]
 
Ответить
Сообщение[offtop]
попробуйте так
и где здесь ЕСЛИ :)
[/offtop]

Автор - bigor
Дата добавления - 07.07.2022 в 10:31
китин Дата: Четверг, 07.07.2022, 10:36 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
[offtop]
и где здесь ЕСЛИ

а надо оно?
при желании можно и прикрутить, но длиннО будет


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение[offtop]
и где здесь ЕСЛИ

а надо оно?
при желании можно и прикрутить, но длиннО будет

Автор - китин
Дата добавления - 07.07.2022 в 10:36
orangesox77 Дата: Четверг, 07.07.2022, 10:57 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

попробуйте так


Спасибо, все работает! Можете еще подсказать, как взять предпоследнее значение из столбца J? Сейчас в формуле берется последнее
 
Ответить
Сообщение
попробуйте так


Спасибо, все работает! Можете еще подсказать, как взять предпоследнее значение из столбца J? Сейчас в формуле берется последнее

Автор - orangesox77
Дата добавления - 07.07.2022 в 10:57
китин Дата: Четверг, 07.07.2022, 10:58 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
а вообще то без файла это гадание на кофейной гуще


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
а вообще то без файла это гадание на кофейной гуще

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

начинал с Excel 4.0, видел 2.1
[offtop]
и где здесь ЕСЛИ

Там же, где и у ТС, только расширено на второе условие :)
Фрагмент:
Код
('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)

есть, грубо говоря, "пацанский" ("хацкерский") эквивалент "благопристойной" записи:
Код
=ЕСЛИ(И('Лист 2'!Y7:Y1000="Орландо Сити";'Лист 2'!O7:O1000=2); 1; 0)

А почему "грубо говоря"? Потому что благопристойная запись здесь, увы, не сработает из-за наличия логической функции И - значение И будет вычисляться единое по всем указанным диапазонам, а не построчно, как нам хотелось бы. А вот пацанская запись обеспечит именно построчное выполнение.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение[offtop]
и где здесь ЕСЛИ

Там же, где и у ТС, только расширено на второе условие :)
Фрагмент:
Код
('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)

есть, грубо говоря, "пацанский" ("хацкерский") эквивалент "благопристойной" записи:
Код
=ЕСЛИ(И('Лист 2'!Y7:Y1000="Орландо Сити";'Лист 2'!O7:O1000=2); 1; 0)

А почему "грубо говоря"? Потому что благопристойная запись здесь, увы, не сработает из-за наличия логической функции И - значение И будет вычисляться единое по всем указанным диапазонам, а не построчно, как нам хотелось бы. А вот пацанская запись обеспечит именно построчное выполнение.

Автор - Gustav
Дата добавления - 07.07.2022 в 11:11
_Boroda_ Дата: Четверг, 07.07.2022, 11:16 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А тогда два ЕСЛИ нужно)))

Код
=ЕСЛИ('Лист 2'!Y7:Y1000="Орландо Сити";ЕСЛИ('Лист 2'!O7:O1000=2; 1; 0); 0)


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

Код
=ЕСЛИ('Лист 2'!Y7:Y1000="Орландо Сити";ЕСЛИ('Лист 2'!O7:O1000=2; 1; 0); 0)

Автор - _Boroda_
Дата добавления - 07.07.2022 в 11:16
Gustav Дата: Четверг, 07.07.2022, 11:48 | Сообщение № 11
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
как взять предпоследнее значение из столбца J? Сейчас в формуле берется последнее

Подход придётся принципиально поменять и задействовать номера строк. Например, можно посчитать ПРЕДпоследнее значение с помощью такой формулы массива (Ctrl+Shift+Enter):
Код
=ИНДЕКС('Лист 2'!J7:J1000; НАИБОЛЬШИЙ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)*(СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1); 2))

Признаком "ПРЕДпоследности" здесь служит цифра 2 в конце формулы (второй параметр функции НАИБОЛЬШИЙ). Соответственно, чтобы получить последнее значение нужно эту 2 заменить на 1. А если нужно "предПРЕДпоследнее" - то на 3.


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

Сообщение отредактировал Gustav - Четверг, 07.07.2022, 11:55
 
Ответить
Сообщение
как взять предпоследнее значение из столбца J? Сейчас в формуле берется последнее

Подход придётся принципиально поменять и задействовать номера строк. Например, можно посчитать ПРЕДпоследнее значение с помощью такой формулы массива (Ctrl+Shift+Enter):
Код
=ИНДЕКС('Лист 2'!J7:J1000; НАИБОЛЬШИЙ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)*(СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1); 2))

Признаком "ПРЕДпоследности" здесь служит цифра 2 в конце формулы (второй параметр функции НАИБОЛЬШИЙ). Соответственно, чтобы получить последнее значение нужно эту 2 заменить на 1. А если нужно "предПРЕДпоследнее" - то на 3.

Автор - Gustav
Дата добавления - 07.07.2022 в 11:48
orangesox77 Дата: Четверг, 07.07.2022, 12:17 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

=ИНДЕКС('Лист 2'!J7:J1000; НАИБОЛЬШИЙ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)*(СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1); 2))


Шикарно работает, спасибо огромное!!
 
Ответить
Сообщение
=ИНДЕКС('Лист 2'!J7:J1000; НАИБОЛЬШИЙ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2)*(СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1); 2))


Шикарно работает, спасибо огромное!!

Автор - orangesox77
Дата добавления - 07.07.2022 в 12:17
Gustav Дата: Четверг, 07.07.2022, 14:00 | Сообщение № 13
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
P.S. За компанию приведу формулу, получившуюся у меня по примерной аналогии, и для случая просмотра с начала, т.е. поиск самого первого, второго, третьего и т.д. вхождений. Естественным образом здесь просится функция НАИМЕНЬШИЙ вместо НАИБОЛЬШИЙ - и это правильно, соглашаемся с этой мыслью. А вот в качестве первого аргумента функции НАИМЕНЬШИЙ, наконец, используем функцию ЕСЛИ - для замены мешающих значений 0 на некое очень большое значение, скажем, 8^7 = 2097152, что в два раза больше числа строк на листе Excel - годится! И тогда, например, значение для второго вхождения от начала (второго случая полного совпадения двух условий) можно вычислить по формуле (тоже массивная):
Код
=ИНДЕКС('Лист 2'!J7:J1000; НАИМЕНЬШИЙ(ЕСЛИ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2); СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1; 8^7); 2))


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеP.S. За компанию приведу формулу, получившуюся у меня по примерной аналогии, и для случая просмотра с начала, т.е. поиск самого первого, второго, третьего и т.д. вхождений. Естественным образом здесь просится функция НАИМЕНЬШИЙ вместо НАИБОЛЬШИЙ - и это правильно, соглашаемся с этой мыслью. А вот в качестве первого аргумента функции НАИМЕНЬШИЙ, наконец, используем функцию ЕСЛИ - для замены мешающих значений 0 на некое очень большое значение, скажем, 8^7 = 2097152, что в два раза больше числа строк на листе Excel - годится! И тогда, например, значение для второго вхождения от начала (второго случая полного совпадения двух условий) можно вычислить по формуле (тоже массивная):
Код
=ИНДЕКС('Лист 2'!J7:J1000; НАИМЕНЬШИЙ(ЕСЛИ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2); СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1; 8^7); 2))

Автор - Gustav
Дата добавления - 07.07.2022 в 14:00
orangesox77 Дата: Суббота, 09.07.2022, 08:52 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 20% ±

P.S. За компанию приведу формулу, получившуюся у меня по примерной аналогии, и для случая просмотра с начала, т.е. поиск самого первого, второго, третьего и т.д. вхождений. Естественным образом здесь просится функция НАИМЕНЬШИЙ вместо НАИБОЛЬШИЙ - и это правильно, соглашаемся с этой мыслью. А вот в качестве первого аргумента функции НАИМЕНЬШИЙ, наконец, используем функцию ЕСЛИ - для замены мешающих значений 0 на некое очень большое значение, скажем, 8^7 = 2097152, что в два раза больше числа строк на листе Excel - годится! И тогда, например, значение для второго вхождения от начала (второго случая полного совпадения двух условий) можно вычислить по формуле (тоже массивная):

=ИНДЕКС('Лист 2'!J7:J1000; НАИМЕНЬШИЙ(ЕСЛИ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2); СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1; 8^7); 2))


Супер! Отлично работает!
 
Ответить
Сообщение
P.S. За компанию приведу формулу, получившуюся у меня по примерной аналогии, и для случая просмотра с начала, т.е. поиск самого первого, второго, третьего и т.д. вхождений. Естественным образом здесь просится функция НАИМЕНЬШИЙ вместо НАИБОЛЬШИЙ - и это правильно, соглашаемся с этой мыслью. А вот в качестве первого аргумента функции НАИМЕНЬШИЙ, наконец, используем функцию ЕСЛИ - для замены мешающих значений 0 на некое очень большое значение, скажем, 8^7 = 2097152, что в два раза больше числа строк на листе Excel - годится! И тогда, например, значение для второго вхождения от начала (второго случая полного совпадения двух условий) можно вычислить по формуле (тоже массивная):

=ИНДЕКС('Лист 2'!J7:J1000; НАИМЕНЬШИЙ(ЕСЛИ(('Лист 2'!Y7:Y1000="Орландо Сити")*('Лист 2'!O7:O1000=2); СТРОКА('Лист 2'!A7:A1000)-СТРОКА('Лист 2'!A7)+1; 8^7); 2))


Супер! Отлично работает!

Автор - orangesox77
Дата добавления - 09.07.2022 в 08:52
  • Страница 1 из 1
  • 1
Поиск:

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