Если ячейка содержит значение, то «Заголовок столбца»

Если ячейка содержит значение, то «Заголовок столбца»

Ищу помощь

 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:

введите описание изображения здесь

Формула в B2:

=INDEX($C$1:$F$1,MATCH(0,ISBLANK(C2:F2),0))

Обратите внимание на скобки вокруг формулы на изображении. Это формула массива, поэтому вам нужно ввести ее, используя Ctrl+ Shift+ Enterвместо просто Enter. И, конечно, вам нужно настроить диапазоны в соответствии с вашими данными.

Как это работает:

MATCH ищет первую непустую запись, в этом случае ISBLANK вернет False, что OpenOffice отображает как 0( Trueотобразит как 1). MATCH возвращает позицию столбца в диапазоне, где было найдено совпадение. Параметр 0в конце ищет точное совпадение.

ИНДЕКС возвращает значение из первой строки в соответствующей позиции столбца, найденной функцией ПОИСКПОЗ.

После ввода формулы ее можно скопировать и вставить в столбец B.

ОБНОВЛЯТЬ:

Вы указали в комментариях, что в вашей фактической таблице нет пустых ячеек, где нет чисел. Вместо этого они содержат формулы, которые отображают пустую ячейку. В этом случае ISBLANK не распознает ее как пустую. Мы можем справиться с этим, просто проверив числовое значение и найдя первое условие True. Таким образом, формула B2 будет выглядеть так:

=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0))

Опять же, это формула массива, поэтому вам нужно ввести ее, используя Ctrl+ Shift+ Enterвместо просто Enter. Я только что проверил, что эта формула работает в этом примере, когда «пустые» ячейки на самом деле не пустые.

Связанный контент