Как получить диапазон значений из формулы вычисления openoffice?

Возникла проблема с openOffice Calc.
Мне нужно получить диапазон значений из формулы, которые можно использовать в раскрывающемся списке / достоверности.
У меня есть лист со следующими данными.

      A    B    C
  +---------------
1 |  10    x  
2 |  20    x  
3 |  30    y  
4 |  40    z  
5 |  50    x  
6 |---------------  

Здесь мне нужен список значений «A», где значения «B» равны «x».
Я проверил с помощью функций ПРОСМОТР / ИНДЕКС, но он возвращает одно значение (первое появление), а не диапазон.


person CodZilla    schedule 17.09.2013    source источник


Ответы (1)


Попробуйте эту формулу:

=IFERROR(INDEX($A$1:$A$5, SMALL(IF($B$1:$B$5="x",ROW($B$1:$B$5),9^99),ROW())),"")
               ^-------^           ^-------^  ^      ^-------^  ^--^
                   |                   |      |          |       +-> Random big number
                   |                   |      |          +-> Range to check
                   |                   |      +-> Value to check
                   |                   +-> Range to check
                   +-> Range to return

Вам нужно будет использовать Ctrl + Shift + Enter, чтобы заставить его работать, а затем перетащите формулу вниз.

Если вы начнете со строки 2, вам придется использовать ROW()-1, чтобы она работала. Обычно это ROW()-(k-1), где k - номер строки, которую вы используете в первую очередь.

person Jerry    schedule 17.09.2013
comment
Это работает! Для OpenOffice: **IF(ISERROR(INDEX($A$1:$A$5, SMALL(IF($B$1:$B$5="x",ROW($B$1:$B$5),9^99),ROW()))),"")**. Но будет полезно, если я получу этот диапазон значений для раскрывающегося списка. Я имею в виду, что в раскрывающемся списке будут значения [10,20,50]. - person CodZilla; 17.09.2013
comment
@CodZilla Хм, к сожалению, я не знаю, как это сделать. :( Я бы посоветовал пока создать скрытый столбец, в который проверка данных извлекает свои данные. Если я что-то найду, я дам вам знать! - person Jerry; 17.09.2013