助けを求めています
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+を使用して入力する必要があります。そしてもちろん、データに合わせて範囲を調整する必要があります。 EnterEnter
使い方:
MATCH は最初の空白でないエントリを検索します。この場合、ISBLANK は を返しますFalse
。これは OpenOffice では と表示されます0
(True
は と表示されます1
)。MATCH は一致が見つかった範囲内の列の位置を返します。0
最後のパラメータは完全一致を検索します。
INDEX は、MATCH によって見つかった対応する列位置の最初の行の値を返します。
数式を入力したら、それをコピーして列 B に貼り付けることができます。
アップデート:
コメントで、実際のスプレッドシートには数字のない空のセルがないと指摘されています。むしろ、空白のセルを表示する数式が含まれています。この場合、ISBLANK はそれを空白として認識しません。数値をテストし、最初の True 条件を探すだけでこれを処理できます。したがって、B2 の数式は次のようになります。
=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0))
繰り返しますが、これは配列数式なので、単に ではなく、Ctrl+ Shift+を使用して入力する必要があります。この例では、「空の」セルが実際には空白ではない場合に、この数式が機能することを確認しました。 EnterEnter