1. ホーム
  2. sql

[解決済み】Excelに合体的な関数はありますか?

2022-01-29 10:08:51

質問

SQLのcoalesce()と同様に、同じ行の一連の列(左から右へ)で、最初の空でない項目でセルを埋める必要があるのですが。

次のシート例では

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |      |   x   |   y   |    z   |
---------------------------------------
|  2  |      |       |   y   |        |
---------------------------------------
|  3  |      |       |       |    z   |
---------------------------------------

A行の各セルに、次のようなセル関数を配置したい。

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |  x   |   x   |   y   |    z   |
---------------------------------------
|  2  |  y   |       |   y   |        |
---------------------------------------
|  3  |  z   |       |       |    z   |
---------------------------------------

IF関数のカスケードでできるのは分かっているのですが、実際のシートでは30カラムから選択するので、もっと簡単な方法があればうれしいです。

どのように解決するのですか?

=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))

これはArray Formulaです。 数式を入力した後 CTRL + シフト + 入力 を入力すると、Excel はこれを配列式として評価します。 これは、指定されたセル範囲の最初の空白でない値を返します。 この例では、数式はヘッダー "a" の列に入力されています。

    A   B   C   D
1   x   x   y   z
2   y       y   
3   z           z