月曜日, 5月 22, 2023

Excelで巨大データ上での移動やフィルの手順

質問がありましたので・・・
Excelで巨大データ上での移動やフィルの手順を整理しました。

[A5001]にデータがあれば・・・
[A1]セルを選択し[commnad↓]で一気に[A5001]に移動します。続けて[commnad↓]すると最下行の[A1048576]に移動します。更に続けて[A1048576]セルを選択し[commnad→]すると[XFD1048576]に移動します。ここが最も端のセルとなります。元に戻すには[XFD1048576]セルを選択し[commnad↑][commnad←]で[I1]セルに移動し、そのまま[commnad←]で[A1]セルに戻ります。
※Windowsの場合は[commnad]を[control]

住所から都道府県を切り分けます。
まず[J1]に「都道府県」を[K1]列に「住所」をタイプしてから[J2]セルに

=IF(MID(I2,4,1)="県",LEFT(I2,4),LEFT(I2,3))
1バイト文字も2バイト文字も常に1つとして数えるMID関数を使い、もし左から4文字目が「県」出あれば左から4文字取り出し、そうでななければ左から3文字取り出す。

とタイプします。これで[I2]セルの都道府県データだけが抜き出されました。あとは[J2]セルを[J5001]セルまでフィルするだけですが手動では無理です。そこで。まずデータが詰まっている[I2]セルを選択して[commnad↓]で一気に[I5001]に移動します。


続けて[J5001]セルを選択して[shift commnad↑]とすると[J2:J5001]を選択した状態になります。

そのまま[ホーム]タグの[編集]>[フィル]をクリックし[連続データの作成]にて[種類]を[加算]から[オートフィル]に変更して[OK]で5000行のフィルが完了します。

そのままI2~I5001を選択していることを確認し・・・

[commnad C]に続けて右クリックで[形式を選択して貼り付け]にて[貼り付け]>[すべて]を[値]に変更して[OK]。これで数式で表示されていた都道府県データが文字列に変換されました。

同様に[K2]セルに

=IF(MID(I2,4,1)="県",MID(I2,5,LEN(I2)-4),MID(I2,4,LEN(I2)-3))
1バイト文字も2バイト文字も常に1つとして数えるMID関数を使い、もし左から4文字目が「県」であれば左から4文字を除いて取り出し、そうでなければ左から3文字いて取り出す。指定セルの文字数を返すLEN関数で、半角英数字や全角文字、スペース(空白)も1文字としてカウントする。

とタイプします。

これで[K2]セルの都道府県データ以外が抜き出されました。あとは[K2]セルを[K5001]セルまでフィルするだけですが手動では無理です。そこで。まずデータが詰まっている[J2]セルを選択して[commnad↓]で一気に[J5001]に移動します。続けて[K5001]セルを選択して[shift commnad↑]とすると[K2:K5001]を選択した状態になります。そのまま[ホーム]タグの[編集]>[フィル]をクリックし[連続データの作成]にて[種類]を[加算]から[オートフィル]に変更して[OK]で5000行のフィルが完了します。そのままK2~K5001を選択していることを確認し、[commnad C]に続けて右クリックで[形式を選択して貼り付け]にて[貼り付け]>[すべて]を[値]に変更して[OK]。

最後にI列を削除し、A1列に移動したら[shift commnad↓]に続けて[shift commnad→]にて選択されたセルに対してデフォルトの0.5p実線罫線を設定して・・・

完成です。しかし、100万行のデータを作る人いるんでしょうね・・・。