Поиск текстового значения вверх от искомого и функция если

Автор makc_fess, 15.10.2016, 18:51

« назад - далее »

makc_fess

Здравствуйте!
Буду очень благодарен и признателен, если кто подскажет как реализовать функцию.
Во вложении, к примеру в ячейке С24 есть значение Southend. Сама функция будет в К24. Нужно найти среди диапазона вверх на 20 клеток и вправо на одну от C24 (т.е. C4:D23) такое же значение (в одном из двух столбцов). В примере это будет ячейка В12. Найдя эту ячейку сверху от искомого надо реализовать функцию ЕСЛИ в ячейку K24, зависящую от найденного значения(точнее нужна строка, в какой найден дубликат. Ну, к примеру, если найдено в строке 12, то если E12 =  F12, то прибавить к ячейке K24 +1.
Плюс ко всему нужно будет протягивать функцию до конца диапазона (около 1000 ячеек).
Это вообще реализуемо через стандартные функции эксель или нужно делать макрос или дополнительные таблицы/вычисления?

vikttur

формула массива считает много лишнего и на 1000 строк подвесит файл.
Простая формула получится непростой и по 2 раза будет считать один и тот же диапазон.
Лучше с использованием доп. столбца, в котором определяется строка с нужными данными.:
=ЕСЛИ(СЧЁТЕСЛИ(C4:D23;C24)=0;;МАКС(ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;C4:C23;)););ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;D4:D23;));)))
Поиск ничьей:
Цитировать=ЕСЛИ(формула>0;ЕСЛИ(ИНДЕКС(E4:E23;строка)=ИНДЕКС(F4:F23;строка);действие;нет_действия);нет_действия)
строка - ячейка с формулой определения строки.
А вот как Вы это хотите реализовать, что будет вместо действие и нет_действия, непонятно, потому что:
ЦитироватьСама функция будет в К24
Цитироватьесли E12 =  F12, то прибавить к ячейке K24 +1.
Формула не может ссылаться на себя -  циклическая ссылка.

makc_fess

#2
Спасибо вам большое! (не увидел, можно ли тут благодарность за пост автоматически делать).
Вот эта формула ищет количество забитых голов
=ЕСЛИ(СЧЁТЕСЛИ(C4:D23;C24)=0;;МАКС(ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;C4:C23;)););ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;D4:D23;));)))
Только можно ли внести исправление. Она вставляет значение из дополнительного столбца E. Необходимо, чтобы значение было найдено исходя из столбца, в котором найден дубликат. Т.е. если найдено в столбце С, то из Е вставлялось, если найден в D, то в F.

Я неправильно выразился. В K24 должно прибавляться значение найденной ячейки(в этой конкретной формуле число голов)+значение ячейки Е24.

vikttur

Цитироватьформула массива считает много лишнего и на 1000 строк подвесит файл.
Поэтому такую формулу не писал.

makc_fess

Ну а насколько строк может быть файл, чтобы формула массива не подвешивала бы его. Если что, то могу разбить файл

vikttur

Вы считаете, что разбивать файл лучше, чем добавить столбец с формулой?

makc_fess

Нет, мне удобней целым файлом.
Извините, я просто не понял что вы имели ввиду.
Не могли бы вы еще раз написать какую точно формулу вставить чтобы не разбивать файл.
Просто вот эта формула мне очень подходит
=ЕСЛИ(СЧЁТЕСЛИ(C4:D23;C24)=0;;МАКС(ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;C4:C23;)););ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;D4:D23;));)))
Только как я выше написал, она вставляет значение только из одного столбца, а мне нужно что она вставляла исходя из позиции найденного значения (если найдено в C, то вставлялась из E, если в D, то в F)

vikttur

Сократил решение:
=ЕСЛИ(СЧЁТЕСЛИ(C4:D23;C24)=0;;ЕСЛИОШИБКА(ИНДЕКС(E4:E23;ПОИСКПОЗ(C24;C4:C23;));)+ЕСЛИОШИБКА(ИНДЕКС(F4:F23;ПОИСКПОЗ(C24;D4:D23;));))+E24

makc_fess

#8
Сообщение удалено