Попробовал пару формул, чтобы попытаться получить самое последнее значение в строке, как показано ниже, но безуспешно - кажется, работает только тогда, когда данные не имеют пробелов ??

3 ответа3

1

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

  1. Напишите эту формулу, чтобы получить последнее введенное значение в строке в ячейке F3 и заполнить ее.

    =LOOKUP(2,1/(A3:E3<>""),A3:E3)
    
  2. Чтобы получить соответствующий заголовок столбца, введите эту формулу массива в ячейку G3 ,
    закончите его с помощью Ctrl+Shift+Enter и заполните Down.

    {=INDEX($A$1:$E$1,MAX(IF($A$3:$E$5=F3,COLUMN($A$3:$E$5)-COLUMN(A1)+1)))}
    

NB

  • Я использовал две разные формулы, потому что в основном вы хотите получить введенное значение Lats, а получить имя заголовка необязательно.
  • Настройте ссылки на ячейки в формуле, как вам нужно.
1

Некоторое время я смотрел на это и не смог воспроизвести ответы, когда использую разные данные, проблема в том, что LOOKUP() требует сортировки вектора поиска, что не относится к вопросу спрашивающего.

Используя сокращенные данные (чтобы сохранить ввод), я использовал 5 строк по 5 столбцов:-

Последняя ячейка

Для наглядности я построил формулы по 3 колонкам:

[G3]  =SUMPRODUCT(NOT(ISBLANK(A3:E3))*2^COLUMN(A3:E3))
[H3]  =INT(LOG(G3,2))
[I3]  =OFFSET(A3,0,H3-1)

Затем G3:H3 копируется на необходимое количество строк.

Заметки:-

  • G3 - это битовая карта, в ячейках которой есть данные.
  • H3 - самая высокая степень 2 в битовой карте.
  • I3 - содержимое последней ячейки с данными.
  • Формулы могут быть вложенными, например, номер последнего столбца может быть =INT(LOG(SUMPRODUCT(NOT(ISBLANK(A3:E3))*2^COLUMN(A3:E3)),2))
  • Я разработал это с помощью LibreOffice и протестировал в Excel 2007.
0

Поскольку значения в диапазоне являются числовыми, вы можете просто использовать:

=LOOKUP(9.9E+307,$E11:$P11)

Так как lookup_value будет выше любого значения в строке, формула вернет последнее числовое значение в этой строке.

Если вы хотите вернуть название месяца, вставьте эту строку в качестве аргумента result_vector .

=LOOKUP(9.9E+307,$E11:$P11,$E$10:$P$10)

Если строка длиннее, чем E:P , отрегулируйте параметр соответствующим образом.

Если последний столбец, который вы хотите, может содержать текст, попробуйте:

=LOOKUP(2, 1/LEN($E11:$P11),$E11:$P11)

Я думаю, что HELP для функции LOOKUP неверна. Смотрите мое исправление:

Если функция LOOKUP не может найти lookup_value, функция соответствует наибольшему последнему значению в lookup_vector, которое меньше или равно lookup_value.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .