こんにちは。 4000行ある時点で数式(関数)で処理をすることに抵抗を感じます。 VBAを使用したほうが賢明かと思います。 標準モジュールを追加し以下コードをお試しください。 尚、動作としてはSheet1にあるデータをSheet2に展開すると言った流れになっています。 質問の中で「最長でAB列まで」と言うことでしたが念のためBBやCB・・・までデータがあったとしても動作するよう作ってあります。 Sub Sample() Dim I As Long, X As Long Dim R1 As String, R2 As String I = 1: X = 1 Application.ScreenUpdating = False Do While Range("Sheet1!A" & I).Value <> "" 'Sheet1の行移動ループ R1 = "": R2 = "C" Do While