Найти следующие ненулевые значения в столбце с его подпиской - PullRequest
0 голосов
/ 18 января 2019

У меня есть вопрос, касающийся столбцов и поиска ненулевых значений с помощью меток. Надеюсь, фотографии сделают мою проблему / борьбу немного лучше понятной.

Overview

По сути, справа есть столбцы, в которых указаны метки и часы, которые команда взяла в аренду или нет. Значения находятся по формуле, которая показывает для каждого ярлыка общее количество потраченных часов.

Теперь я хочу, чтобы на моей странице обзора были две колонки справа, только с метками, показывающими метки, которые содержат часы. Я пытался использовать несколько переменных if, но это не сработало :(

Так что в конце должно появиться что-то вроде этого (я теперь вручную набрал метки и данные):

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Я быстро пересмотрел вашу структуру данных, чтобы проверить это.

Использование Array Formulas должно дать вам желаемые результаты в текущей структуре вашего рабочего листа:

Для диапазона Loaned in вам нужно, чтобы формула была

=IFERROR(INDIRECT(ADDRESS(SMALL(IF($I$4:$I$14>0,ROW($4:$14),""),ROW(A1)),8)),"")

Где 8 - ссылка на возвращаемый столбец. Для диапазона справа вы должны использовать ту же формулу, просто настройте 8 на 9. А для диапазона Loaned Out вам понадобится

=IFERROR(INDIRECT(ADDRESS(SMALL(IF($K$4:$K$23>0,ROW($4:$23),""),ROW(A1)),10)),"")

А для диапазона, находящегося непосредственно справа, вы бы снова изменили 10 на 11. Опять же, оба они являются формулами массива, поэтому их нужно вводить немного по-разному. См. Ссылку для получения дополнительной помощи с формулами массива.

0 голосов
/ 18 января 2019

Это не тривиально. Если вы не можете работать с фильтрацией или программированием, вам следует использовать матричные формулы. Я включил пример с двумя формулами: 1-й в D1: D5, 2-й в F2: G5. Введите их с помощью Ctrl + Shift + Enter. Кроме того, вы должны использовать дополнительный столбец для определения «допустимых» строк. (Вы можете поместить все это в одну формулу, но это выглядело бы еще сложнее.)

Извините за немецкий Excel. Wennfehler = iferror, kkleinste = small, zeile = row, wenn = if, bereich.verschieben = range.offset.

][2]

][1]

...