4

私は次のようなエクスポートされたテーブルを使用してExcelで作業しています。

|-------------------------------------------------------------------------------|
|   |        A          |  B  |  C  |  D  |  E  |  F  |   G   |  H  |     I     |
|---|-------------------|-----|-----|-----|-----|-----|-------|-----|-----------|
| 1 |      Domain       | JAN | FEB | MAR | APR | MAY | Start | End |   Change  |
|---|-------------------|-----|-----|-----|-----|-----|-------|-----|-----------|
| 2 | www.mydomain1.com |     |   1 |   4 |   3 |   1 |     1 |   1 |         0 |
|---|-------------------|-----|-----|-----|-----|-----|-------|-----|-----------|
| 3 | www.mydomain2.com |   2 |   4 |  12 |  18 |  23 |     2 |  23 |        21 |
|---|-------------------|-----|-----|-----|-----|-----|-------|-----|-----------|
| 4 | www.mydomain3.com |     |     |  14 |  12 |     |    14 | xxx | NOT FOUND |
|-------------------------------------------------------------------------------|

現在の状態(最後のセル)を元のセル(値のある最初のセル)と比較しようとしています。

I列には次の式があります=IF(G2 = "xxx", "NOT FOUND", IF(H2 = "xxx", "NOT FOUND", H2 - G2))

H列には次の式があります=IF(F2 = "", "xxx", F2)

列Gで、番号の付いた最初のセルを見つける必要があります。その範囲に1つがない場合は、Gを「xxx」にする必要があります。数値だけでなく、値を含む範囲(B2からF2)の最初のセルをチェックするだけでよいと思います。インデックスとマッチのコンボを使ってみましたが、よくわかりませんでした。

4

2 に答える 2

3

次の式($G$2入力および入力)でうまくいくはずです。

=IF(ISBLANK(F2),"xxx",INDEX(B2:E2,,COUNTBLANK(B2:F2)+1))

これは、最初のエントリと最後のエントリの間に他の空白のセルがない場合にのみ機能することに注意してください。

更新: Mr.Excelフォーラムからのより用途の広いオプションです。

=INDEX(B2:F2,MATCH(1,IF(B2:F2<>0,IF(B2:F2<>"",1)),0))

これは「配列数式」として入力する必要があります。つまり、数式を貼り付けた後、CTRL-SHIFT-ENTERを押す必要があります。

コメントへの応答:

行のすべてのセルが空の場合、#N / Aを返すことを除いて、これはうまく機能します。そこで、IsNA()条件を含めるように式を少し変更しました。

=IF(ISNA(INDEX(B2:F2,MATCH(1,IF(B2:F2<>0,IF(B2:F2<>"",1)),0))), "xxx",
    INDEX(B2:F2,MATCH(1,IF(B2:F2<>0,IF(B2:F2<>"",1)),0)))

数式全体を複製するのではなく、次のようにすることができます。

=IF(COUNTBLANK(B2:F2)=COLUMNS(B2:F2),"xxx",
    INDEX(B2:F2,MATCH(1,IF(B2:F2<>0,IF(B2:F2<>"",1)),0)))
于 2010-12-22T17:39:56.933 に答える
1

以下は、ARRAY式(ctrl-shift-enter)として入力した場合に機能します。

中央に空白のセルがある場合にも機能します。

{=INDEX(B2:F2,1,MIN(IF(ISBLANK(B2:F2),99999,COLUMN(B2:F2))))}

HTH

編集

これもエラーを制御します:

{=IF(ISERROR(INDEX(B2:F2,1,MIN(IF(ISBLANK(B2:F2),9999,COLUMN(B2:F2))))),"xxx",
  INDEX(B2:F2,1,MIN(IF(ISBLANK(B2:F2),9999,COLUMN(B2:F2)))))}
于 2010-12-22T18:16:51.857 に答える