Поиск сетки Excel
У меня есть массив в одном файле, например:
Размер обуви для ног Эндрю 19 12 Мэри 17 8 Сара 15 10 Уэсли 19 11
Я хочу выделить одну часть данных на основе заданного имени и типа данных. Например, точно укажите Sarah
и Age
, я хочу, чтобы ячейка читала 15
.
Я прочитал это полезное руководство по Double Lookups, но меня все еще беспокоит одна вещь.
- Excel 2013 комплексная формула countif
- Выберите строки Excel, содержащие слово в одном столбце, плюс> Функции в нескольких других столбцах
- Как это сделать в Excel?
- Excel VLOOKUP или INDEX MATCH
- В Excel, как вы смотрите на ряд ячеек и оцениваете, где существует значение, а затем даете результат на основе этого?
Вот формула:
=OFFSET(A1:C5,MATCH("Sarah",OFFSET(A1:C5,0,0,ROWS(A1:C5),1),0)-1,MATCH("Age",OFFSET(A1:C5,0,0,1,COLUMNS(A1:C5)),0)-1)
Он работает, когда данные находятся в одном файле, однако, когда я пытаюсь использовать данную формулу из другого файла, она получает значение #VALUE!
ошибка.
Код для чтения из файла anther (все, что я сделал, это добавить путь к файлу):
=OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5,MATCH("Sarah",OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5,0,0,ROWS(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5),1),0)-1,MATCH("Age",OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5,0,0,1,COLUMNS(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5)),0)-1)
Здесь он разнесен, поэтому его легче читать:
=OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5, MATCH("Sarah", OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5, 0, 0, ROWS(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5),1), 0)-1, MATCH("Age", OFFSET(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5, 0, 0, 1, COLUMNS(C:file\path\'[Lister.xls]Shhet1'!$A$1:$C$5)), 0)-1)
Кто-нибудь знает, почему ему не нравятся другие файлы? Это та же информация.
Как это исправить?
Заранее спасибо 🙂
- Макрос Excel с символом $
- подсчитывать элементы по разделителю имени uniq по номеру позиции
- Есть ли формула Excel, которая, учитывая конечную ячейку, возвращает начальную ячейку блока данных?
- Excel для возврата значений списка в раскрывающемся списке
- Извлечение нескольких числовых значений из списка, связанного с возвратом каретки в ячейке
- 1000 листов, данные в одной ячейке данных сопоставления листов в ячейке на другом листе
- Формула Excel для преобразования времени. yyyy-dd-mm hh-ii необходимо
- Excel: как выбрать первый нуль в строке, после ненулевого значения
Чтобы расширить ответ Скотта, внешние пути к закрытым книгам рассматриваются как массивы, а не ссылки, поэтому функции, ожидающие ссылок в аргументах, таких как ошибки OFFSET, SUMIF или COUNTIF, возвращаются, если книга закрыта.
INDEX, с другой стороны, позволяет массивы в качестве аргументов, поэтому вместо этого вы можете попробовать ввести:
=INDEX(A1:C5,MATCH("Sarah",INDEX(A1:C5,0,1),0),MATCH("Age",INDEX(A1:C5,1,0),0))
что также должно учитывать ссылки на закрытые книги.
Дополнительным преимуществом INDEX является то, что он не является изменчивым, поэтому он будет пересчитываться только тогда, когда ячейка в одной из зависимых ячеек (A1: C5) изменяется, тогда как OFFSET является изменчивой функцией и будет пересчитываться всякий раз, когда происходит изменение в любом месте книги, которая является менее эффективны.
Некоторые функции требуют, чтобы целевая рабочая книга была открыта для работы. Одним из них является смещение. Косвенные и Sumif и Countif – это другие. Вам нужно будет открыть цель или перепроектировать процесс.
Вы можете попробовать использовать функцию индекса, так как она похожа на функцию смещения.