現在オフラインです。再接続するためにインターネットの接続を待っています

Excel で複数の行と列を列と行に変換する方法

Office 2003 のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Office 2003 のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

Microsoft Excel 98 については、次の資料を参照してください。192357
Microsoft Excel 97 については、次の資料を参照してください。116289
概要
この資料の対象製品として記載されている Microsoft Excel 製品を使用している場合、ワークシート関数を使用して、複数の行と列にまたがっているデータをデータベース形式 (単票形式) に変換できます。
詳細
以下の例では、4 行 1 列分の各データを 1 行 4 列のデータに (データベースのフィールドとレコードのレイアウトの形式で) すべて変換します。同様の操作が行われる状況としては、宛名ラベル形式のデータが格納されたワークシートやテキスト ファイルを開いた場合などがあります。

  1. 新規のワークシートを開き、次のデータを入力します。
    A1: Smith, John
    A2: 111 Pine St.
    A3: San Diego, CA
    A4: (555) 128-549
    A5: Jones, Sue
    A6: 222 Oak Ln.
    A7: New York, NY
    A8: (555) 238-1845
    A9: Anderson, Tom
    A10: 333 Cherry Ave.
    A11: Chicago, IL
    A12: (555) 581-4914
  2. セル C1 に次の数式を入力します。
    =OFFSET($A$1,(ROW()-1)*4+INT((COLUMN()-3)),MOD(COLUMN()-3,1))
  3. この数式を列 F までコピーし、次に行 3 までコピーします。
  4. 列のサイズを必要に応じて調整します。これでデータが C1 から F3 まで次のように表示されるようになりました。
   Smith, John     111 Pine St.    San Diego, CA   (555) 128-549   Jones, Sue      222 Oak Ln.     New York, NY    (555) 238-1845   Anderson, Tom   333 Cherry Ave. Chicago, IL     (555) 581-4914				
この数式の説明を以下に示します。
OFFSET($A$1,(ROW()-f_row)*rows_in_set+INT((COLUMN()-f_col)/col_in_set), MOD(COLUMN()-f_col,col_in_set))
上記の各部分の意味は、それぞれ次のとおりです。
  • f_row = この offset 数式の行数
  • f_col = この offset 数式の列数
  • rows_in_set = 1 レコード分のデータに対応する行数
  • col_in_set = データの列の数
mailing labels convert data formula transpose XL2000 inf XL2002 XL2003
プロパティ

文書番号:214024 - 最終更新日: 03/06/2006 07:40:00 - リビジョン: 3.2

Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Office Excel 2003

  • kbhowto kbformat kbconversion KB214024
フィードバック
/html>m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >