Как я могу выбрать ячейку с помощью нижнего индекса как на большинстве языков программирования - [x]?
Таким образом, я не знаю, какие данные строки я хочу, но я знаю столбец. Такого рода вещь может, вероятно, быть полезной в формулах проверки как следующее
= IF(A[row()] = "X", TRUE, FALSE)
Если Вы знаете диапазон, что значения используются ИНДЕКСНАЯ функция.
например.
= IF(INDEX(A:A, ROW()) = "X", TRUE, FALSE)
В отличие от КОСВЕННОЙ функции это не энергозависимо и не будет следовательно повторно вычислено каждый раз, когда что-либо изменяется.
Я соглашаюсь, ИНДЕКС является определенно лучшим ответом на это, чем КОСВЕННЫЙ, на самом деле это действительно - самая близкая вещь к селектору элемента массива, который существует в Excel. (NB: нет никакого нуля элемента, поскольку существует на многих языках программирования, работах Excel над строками и столбцами, таким образом, первый всегда - 1 в любом направлении),
Обратите внимание, что можно использовать простую версию для выбора энного элемента в массиве на один столбец:
=INDEX (A1:A100,27) дал бы 27-й элемент A1:A100, т.е. A27 или один массив строк:
=INDEX (A1:G1, 5) дает содержание пятой колонны в массиве, таким образом, E1 в этом случае (отмечают двойную запятую для показа значения для строки, обеспечивается),
можно сделать двухмерные антенные решетки:
=INDEX (A1:D100,27,4) был бы содержанием D27 (строка 27, столбец 4 массива) и
=INDEX (C19:X43,5,7) дает I23
Теперь, если Вы будете иметь двухмерную антенную решетку и только дадите один параметр, то результатом будет целый столбец или строка. В то время как это не делает sens на своем собственном, это прекрасно встроено в другой функции. Так: =INDEX (A1:C5,1) - возвращает ошибку #REF, поскольку он даже не понимает, относится ли этот 1 к строке или столбцу.
=INDEX (A1:C5,1), - возвращает #VALUE, потому что он не может отобразить результант arrary в ячейке, но отметить, что дополнительная запятая теперь явно определяет это, 1 означает первую строку.
=SUM (ИНДЕКС (A1:C5,1)) - возвращает сумму всех значений в A1:C1, первой строке массива.
Однако сказавший все это, Вы, возможно, не должны явно выбирать элемент массива вообще. Кажется от Вашего примера, что Вы пытаетесь протестировать значение в известном столбце для той же строки, как формула была введена в. Можно сделать это использование неявного пересечения диапазона и текущей строки, так например, при вводе этой формулы в ячейку B13:
=IF (A:A = "X", "Да, это работает", "X не найденный") затем можно скопировать это в любую другую строку просто путем вытаскивания его, и на каждой строке это неявно означает "элемент столбца A, который находится на том же номере строки как эта формула".Примечание: диапазон не должен быть целым столбцом, это мог быть A4:A104, или даже на другом листе, но в каждом случае он будет использовать ячейку в той же фактической строке Excel как формула. Я повторю тот последний бит: Если у Вас будет формула в ячейке B5 с помощью диапазона A4:A104, то Вы не получите Пятый элемент того диапазона (A8), а скорее ячейка A5. При использовании формулы в ячейке B3 против A4:A104, Вы получаете ошибку, потому что диапазон ничего не имеет на строке 3 (нет никакого пересечения). Так, если Ваши строки выстроены в линию, эта неявная ячейка от диапазона действительно полезна (и даже инструмент для очистки при использовании именованного диапазона для столбца) но если они не, Вы должны ИНДЕКСИРОВАТЬ для получения истинной репликации [n] для любого элемента массива.
Вот еще две опции для Вас:
В Excel 2003, например:
Затем в Вашей формуле, Вы просто сделали бы это:
=R1 = "X"
который автоматически возвратит true или ложь. Обратите внимание на то, что в Ваших формулах, любое время Вы используете, Если () для возврата истины и лжи можно просто избавиться от, Если () полностью, поскольку какое-либо сравнение уже возвращает булево значение.
К сожалению, с этим методом, Вы не можете использовать стиль ссылки A1, таким образом, этот прием может иметь ограниченную утилиту для Вас.
Названные диапазоны действительно мощны, и они просты в использовании. Скажем, Вы маркировали столбец X в нем Флагом. Таким образом, Вы выбрали бы весь столбец и избранную Вставку->, Имя-> Определяет. Дайте ему имя Флаг (если это уже не нашло его на основе Вашей маркировки), и затем в формулах Вы используете слово Флаг, как будто это была ссылка на ячейку, как так:
=Flag = "X"
Это будет использовать значение от той же строки, но корректный столбец.
В дополнение к ручному определению имен, если Вы хотите добавить маркировки к полному набору данных сразу, выбирают Ваш диапазон данных, затем выбирают Insert-> Names-> Create и выбирают положение маркировок (обычно Верхний ряд для меня). Теперь Вы определили именованный диапазон для каждого столбца в Вашей электронной таблице, и можно начать использовать тех, которые в формулах.
Не пропускайте пересечь оператор, который является пространством. Оператор объединения является запятой как в =Sum(A1, B1)
и пересечь оператор так же используется как это =Sum(Flag 2:10)
. Если бы именованный Флаг диапазона упомянул столбец 1, например, то это обратилось бы к диапазону A2:A10, пересечение двух перечисленных диапазонов. Можно использовать много пересечений один за другим в качестве в range range range range
. A:A 1:1
твердость к той же ссылке как A1
.
Если Ваши данные строки также маркированы значительно, как в регионах или годы или другие значения, то добавление именованных диапазонов и использование пересечь оператор могут сделать некоторые замечательные вещи, такой как, если именованный диапазон TotalSales обращается к столбцу с объемами продаж в нем и именованным диапазоном, Калифорния относится ко всем (всем) строкам с данными Калифорнии — не обязательно непрерывный — затем формула =Sum(TotalSales California1)
была бы сумма пересечения тех двух.