Дебри мастера функций для знатоков OpenOffice...

Автор olkravets, 2 декабря 2012, 03:29

0 Пользователи и 1 гость просматривают эту тему.

olkravets

Подскажите как решить поставленную задачу (см. примерный файл). А именно в файле есть некоторые данные (в примерном файле это столбцы B C D). После введения в столбце G (желтые ячейки) какого нибудь идентификатора в соответствующих ячейках столбцов I G K должны отображаться ячейки из столбцов B C D. И самое главное эта конструкция должна предусматривать возможность пополнения данными столбцов B C D без переделывания основной конструкции...

Большое спасибо

[вложение удалено Администратором]

Hasim

Комбинация функций OFFSET, INDIRECT, ISERROR, IF.

[вложение удалено Администратором]

olkravets


Hasim

Предыдущее решение справедливо для вашего случая, когда номера в столбце В совпадают с номерами строк.
А если номера не совпадают со строками?
Как на картинке.
Попробуйте решить эту задачу самостоятельно.



[вложение удалено Администратором]

Hasim

Ну и наконец, задачка для "отличников ЕГЭ по OpenOffice/Libreoffice".
В столбце G задается не адрес ячейки, а номер страны, и в столбце I нужно найти адрес соответствующей ячейки.
Как на картинке.



[вложение удалено Администратором]

olkravets

Цитата: Hasim от  2 декабря 2012, 19:02Предыдущее решение справедливо для вашего случая, когда номера в столбце В совпадают с номерами строк.
А если номера не совпадают со строками?
Как на картинке.
Попробуйте решить эту задачу самостоятельно.

Такую задачку вроде-бы получилось решить, а вот следующую пока не удалось. Еще попробую.  Хотелось бы где-то найти хорошую книжечку для «гуру» электронных таблиц (Calc) потому что логику действия комбинаций похожих на:  IF( ISERROR(OFFSET($A$1;INDIRECT($G17)-1;2));"";  OFFSET($A$1;INDIRECT($G17)-1;2) ) в большинстве книг по таблицах не найдёшь.

Еще раз спасибо за помощь…

Hasim

Цитата: olkravets от  4 декабря 2012, 20:53Такую задачку вроде-бы получилось решить, а вот следующую пока не удалось.
Интересно, как вы решили вторую задачку, потому что возможны два варианта решения.
Первый с использованием OFFSET, INDIRECT, как в первой (вашей) задаче.
А возможно решение второй задачки еще и с использованием VLOOKUP, что даже еще проще.
И для решения третьей задачи тоже можно использовать VLOOKUP, ну и еще MATCH.

olkravets

Цитата: Hasim от  5 декабря 2012, 00:07Интересно, как вы решили вторую задачку, потому что возможны два варианта решения.
Первый с использованием OFFSET, INDIRECT, как в первой (вашей) задаче.
А возможно решение второй задачки еще и с использованием VLOOKUP, что даже еще проще.
И для решения третьей задачи тоже можно использовать VLOOKUP, ну и еще MATCH.

Делал как раз с использованием VLOOKUP. Несмотря на то, что мое решение работает, но мне кажется, что оно не совсем правильно. У меня массив ограничен 20-й строчкой, можно сделать и больше. Но все же есть вероятность что рано или поздно введутся данные в ячейку которая выпадет из массива...  Как этого можно избежать? Если не сложно покажите Ваше решение этой задачки...
Спасибо.



[вложение удалено Администратором]

VlhOwn

Вы можете заменить $B$5:$D$20 на $B$5:$D$200 или даже на $B$5:$D$200000.
И еще - разумно дать имя этому диапазону (Вставка-Названия-Задать), и в формуле использовать имя вместо интервала. Тогда, если что-то нужно будет менять, то правка всего в одном месте.

olkravets

Цитата: VlhOwn от  6 декабря 2012, 07:02Вы можете заменить $B$5:$D$20 на $B$5:$D$200 или даже на $B$5:$D$200000.
И еще - разумно дать имя этому диапазону (Вставка-Названия-Задать), и в формуле использовать имя вместо интервала. Тогда, если что-то нужно будет менять, то правка всего в одном месте.

Спасибо

Hasim

Решение точно такое же, но вы не использовали IF и ISERROR, потому выглядит не очень хорошо из-за этих #Н/Д.


[вложение удалено Администратором]