如果儲存格包含值,則“列標題”

如果儲存格包含值,則“列標題”

尋求協助

 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 中的公式,但如果相應的單元格中有一個值,我很難想出一個將列標題“Food/Petrol/Rent”複製到 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 顯示為0True將顯示為1)。 MATCH 傳回找到符合項目的範圍內的列位置。0最後的參數尋找完全匹配。

INDEX 傳回 MATCH 找到的對應列位置中第一行的值。

輸入公式後,您可以將公式複製並貼上到 B 列。

更新:

您在評論中指出,您的實際電子表格不包含沒有數字的空白儲存格。相反,它們包含顯示空白單元格的公式。在這種情況下,ISBLANK 不會將其識別為空白。我們可以透過測試一個數值並尋找第一個 True 條件來處理這個問題。所以 B2 公式為:

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

同樣,這是一個數組公式,因此您需要使用Ctrl+ Shift+Enter而不是僅輸入它Enter。我剛剛驗證了當“空”單元格實際上不是空白時,此公式在此範例中有效。

相關內容