В чем полезность:
=Cell(contents,x)
Почему не просто
=X
например, в этом случае не будет:
=INDIRECT(ADDRESS(1,2))
работать так же, как:
=CELL("contents",INDIRECT(ADDRESS(1,2)))
В чем полезность:
=Cell(contents,x)
Почему не просто
=X
например, в этом случае не будет:
=INDIRECT(ADDRESS(1,2))
работать так же, как:
=CELL("contents",INDIRECT(ADDRESS(1,2)))
Содержимое ячейки возвращает только значение в ячейке. Часто это единственное, что вам нужно, и во многих формулах было бы хорошо использовать = X в вашем примере (хотя функция Cell также дает вам доступ к гораздо большей информации о ячейке, например, к типу и т.д.).
Однако косвенный позволяет вам делать больше, поскольку вместо того, чтобы просто передавать значение из ячейки, он создает ссылку на ячейку, которую затем можно использовать в формулах. Содержимое клетки не позволит вам сделать это.
Cell позволит вам сделать это:
A1="thing I'm looking up"
=vlookup(cell.contents("contents",A1), myRange,1,false)
или даже это:
A1="B2"
B2="thing i'm looking up"
=vlookup(cell.contents("contents",indirect(A1)), myRange,1,false)
Но это не позволит вам сделать это:
A1="B3:C5"
vlookup("thing I'm looking up in " & A1, indirect(A1), 1, false)
где вы можете использовать адрес, хранящийся в A1, в качестве ссылки для использования в формуле. Ячейка позволяет использовать только значение, а не как ссылку.
CELL("contents",...)
возвращает
Значение верхней левой ячейки в ссылке; не формула
(https://support.office.com/en-us/article/cell-function-51bd39a5-f338-4dbe-a33f-955d67c2b2cf)
Таким образом, результат использования функции CELL
против простой ссылки на диапазон будет другим, если ваша ссылка содержит несколько ячеек.