Если ячейка содержит значение, тогда "Заголовок столбца"
Ищу помощь
A B C D E F
1 Food Petrol Rent Wages
2 **Food** 12
3 **Petrol** 35
4 **Rent** 120
5 **Wages** 300
У меня есть формула, которая копирует значения в ячейки C2:F5 и далее, но мне трудно придумать формулу, которая копирует заголовок столбца "Еда / бензин / аренда" в столбец B, если в соответствующей ячейке есть значение в столбце
Так что, если C2 имеет значение, то B2=C1. Если F5 имеет значение, то B5= "Заработная плата".
в настоящее время у меня есть 38 столбцов и около 1000 строк, это может быть сложно сделать все вручную
заранее спасибо
1 ответ
Есть несколько способов сделать это. Вы описываете наличие 38 столбцов, поэтому некоторая форма поиска - самый простой подход. Вы можете сделать это с помощью INDEX и MATCH:
Формула в В2:
=INDEX($C$1:$F$1,MATCH(0,ISBLANK(C2:F2),0))
Обратите внимание на фигурные скобки вокруг формулы на изображении. Это формула массива, поэтому вам нужно ввести ее, используя Ctrl + Shift + Enter вместо просто Enter. И, конечно же, вам нужно настроить диапазоны в соответствии с вашими данными.
Как это устроено:
MATCH ищет первую непустую запись, в этом случае ISBLANK вернет False
, который OpenOffice отображает как 0
(True
будет отображаться как 1
). MATCH возвращает позицию столбца в диапазоне, где было найдено совпадение. 0
Параметр в конце ищет точное совпадение.
INDEX возвращает значение из первой строки в соответствующей позиции столбца, найденной с помощью MATCH.
Вы можете скопировать и вставить формулу вниз в столбец B после ее ввода.
ОБНОВИТЬ:
В комментариях вы указали, что в вашей реальной таблице нет пустых ячеек, в которых нет чисел. Скорее, они содержат формулы, которые отображают пустую ячейку. В этом случае ISBLANK не распознает его как пустое. Мы можем справиться с этим, просто проверяя числовое значение и ища первое истинное условие. Таким образом, формула B2 будет иметь вид:
=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0))
Опять же, это формула массива, поэтому вам нужно ввести ее, используя Ctrl + Shift + Enter вместо просто Enter. Я только что проверил, что эта формула работает в этом примере, когда "пустые" ячейки на самом деле не пустые.