0

答えを探しましたが、Excel 2008 のオプションではなくなった VBA ベースのソリューションしか見つからないようです。

データを含む行の最後のセルの名前を返そうとしています。次のようになります。

+===========================================================+
                 A      /  B  /  C  /  D  /  E  (columns)
+===========================================================+
1         || [Formula] /  3  /  4  /  5  / [blank]
2         || [Formula] /  7  /  8  / [blank] / [blank]
3         || [Formula] /  9  / 10 / 11 / 12
(rows)
+===========================================================+

最終結果は次のようになります。

+===========================================================+
             A   /  B  /  C  /  D  /  E  (columns)
+===========================================================+
1         || D1 /  3  /  4  /  5  / 
2         || C2 /  7  /  8  /     / 
3         || E3 /  9  / 10 / 11 / 12
(rows)
+===========================================================+
4

4 に答える 4

1
=CHAR(COUNTA(B1:ZZ1) + 65) & ROW()
于 2011-09-13T15:12:11.697 に答える
1

データが左から右にソートされているようです。そうであれば、行の最後のセル (最大) の列インデックスを取得する
ようなものから始めることができます。=MATCH(MAX(C4:K4);C4:K4)そこから、アドレスを構築するのは簡単です。
=ADDRESS(ROW();MATCH(MAX(C1:K1);C1:K1);4)


編集: ADDRESS を COUNT または COUNTA (Dustin Geile の優れたアイデア) と組み合わせても、アイテムを並べ替える必要はありません。

=ADDRESS(ROW();COLUMN()+COUNT(B1:Z1);4)
于 2011-09-13T14:37:14.837 に答える
0

この配列式を試すことができます:

{=ADDRESS(ROW(B2),MAX(IF(ISEMPTY(B2:H2),0,COLUMN(B2:H2))))}

で検証するCtrlShiftEnter

于 2011-09-13T14:46:14.140 に答える
0

データを含む最後のセルを探している場合は、クイック関数を記述して、ブックのVBAモジュールに配置できます。

パブリック関数LastCell(inRange as Range)LastCell = inRange.End(XlToRight).Address End Function

または、セルを指す範囲オブジェクトを取得する場合は、「。Address」を省略します。

次に、次のような式で使用できます...

= LastCell(A1)

よろしくレイ

于 2011-09-13T14:47:44.717 に答える