いつでも医師に相談、gooドクター

連続データを1行おきに貼り付けする方法(エクセル)
都道府県ごとに全国の個人と企業の会員数と売上のデータが連続で縦に並んでおります。

  A列  B列    C列   D列      E列
1 エリア 個人会員数  売上   企業会員数  売上
2 北海道 100     ¥2000  120    ¥10000
3 青森  50      ¥500   60     ¥2000

これを、別ファイルに月度別の年間一覧表として下記の雛形に貼り付けたいです。

 A列   B列   C列   D列   E列  F列
1          1月         2月
2 エリア      会員数   売上   会員数 売上
3 北海道  個人   100   ¥2000  
4      企業   120   ¥10000
5 青森   個人    50    ¥500 
6      企業    60   ¥2000
7


個人分のデータを1行ごとに空欄で貼り付けることはオートフィルでできたのですが、
次にそのデータの間に企業分のデータを貼り付ける方法がわからず困っております。

よろしくお願いします
  
 

gooドクター

A 回答 (5件)

元データがSheet1にあると仮定して、


関数を使用して行うと、

Sheet2のセルC3に下記の式を入れて下へオートフィル

=INDIRECT("sheet1!"&IF(MOD(ROW(),2)=0,"D","B")&ROUNDUP(ROW()/2,0)+1)

Sheet2のセルD3に下記の式を入れて下へオートフィル

=INDIRECT("sheet1!"&IF(MOD(ROW(),2)=0,"E","C")&ROUNDUP(ROW()/2,0)+1)

これで会員数と売上を1行おきに表示させる形となります。
ただ、1月、2月、、、、 の仕分け表記がなかったので、
そこは省いています。

この回答への補足

やはり、同じファイルで作業シートを使っての表示方法しかないのでしょうか?
データ納品となるため、できれば作業用のシートやセルは、同じファイル内に
ないほうがいいのですが・・・
値で貼り付けなおすのが最善でしょうか?

補足日時:2010/07/05 16:45
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
表示できました。

>1月、2月、、、の仕分け表記がなかったのでそこは省いています。
月度ごとの作業になるので、一月分できれば大丈夫です。

お礼日時:2010/07/05 16:42

こういう表の再構成は関数では複雑になって一般に苦手なんだ。


全セルが式で埋まってしまうし。
別ブックに再構成するというのも難しい点が加わる。
・VBAででもやると考えかたは簡単。
・また北海道の下の企業の件名が空白だと将来処理に困るよ。データは北海道にして、2番目以下は文字を白色にするなどしては。
・最終的に集計するならピボットテーブルででも使えないか勉強してみることかな。
・個人法人コードを補人法人列の前と、法人の前の列に県名列を挿入し、法人部分を、最下行の下に貼り付け、県名でソートしては
結果
エリア個人法人個人会員数売上
青森150\500
青森260\2,000
北海道1100\2,000
北海道2120\10,000
操作だけで出来る。データに今後は増減・変更がないなら。
・元データが1行で、再構成表は必ず2行だから、計算すれば、元データの何行目の何列を持ってくるか割り出せる。それを関数でやることは出来る。INDEX関数で行と列を指定する。
まず別シートに再構成表を作るぐらいにして、この式をどうなるか考えてみては。
    • good
    • 1
この回答へのお礼

いくつかの案をだしていただき、ありがとうございます。
どの方法が良いか勉強してみます。

お礼日時:2010/07/06 09:38

一例です。


(1)別ファイルをオープンして、1~2行目を入力
(2)別ファイルのA3に#[元ファイル.xls]Sheet1!A2、B3に個人、C3に#[元ファイル.xls]Sheet1!B2、D3に#[元ファイル.xls]Sheet1!C2
   B4に企業、C4に#[元ファイル.xls]Sheet1!D2、D4に#[元ファイル.xls]Sheet1!E2
(3)A3:D4を選択して下方向に必要分コピーし、置換で#を=に全て置換

因みに、元、別ファイルは同一フォルダにある事として、ファイル名、シート名は実名に変更して下さい。   
    • good
    • 2
この回答へのお礼

別ファイルでの方法ありがとうございました。
個人と企業を縦に並べたかったので、表組みをちょっと修正してできました。

お礼日時:2010/07/06 10:21

参照元は、A.xlsのSheet1と仮定



別ブックで、A2~D3に参照式を入力

A2に「=[A.xls]Sheet1!A2」B2に「個人」C2に「=[A.xls]Sheet1!B2」D2に「=[A.xls]Sheet1!C2」
B3に「企業」C3に「=[A.xls]Sheet1!D2」D3に「=[A.xls]Sheet1!E2」

A2~D3を選択
選択枠の右下角の■(フィルハンドル)を下方にドラッグ
ドラッグ範囲が選択状態のまま
編集メニューの「置換」で
=

#=
に「すべて置換」

上記「置換」操作で数式が文字列になります。
A2に「#=[A.xls]Sheet1!A2」B2に「個人」C2に「#=[A.xls]Sheet1!B2」D2に「#=[A.xls]Sheet1!C2」
B3に「企業」C3に「#=[A.xls]Sheet1!D2」D3に「#=[A.xls]Sheet1!E2」

A2~D3を選択状態のまま
選択枠の右下角の■(フィルハンドル)を下方にドラッグ
ドラッグ範囲が選択状態のまま
編集メニューの「置換」で
#=

=
に「すべて置換」

上記のような操作で参照式が完成します。
あと、対象セル範囲を選択してコピー
その場で、「形式を選択して貼り付け」の「値」で貼り付けで値化します。
    • good
    • 0
この回答へのお礼

別ファイルでの方法、ありがとうございました。

お礼日時:2010/07/06 10:19

オートフィル操作をするなら以下のような方法が直感的でわかりやすいかもしれません。



C3セルに「'=sheet1!B2」と「'」を入力後に「=sheet1!B2」と文字列で入力し、同様にD3セルに「'=sheet1!C2」、C4セルに「'=sheet1!D2」、D4セルに「'=sheet1!E2」と入力して、この4つのセルを下方向にオートフィルコピーします。

C列を選択して「データ」「区切り位置」で「完了」して文字列を数式化します。
同様に、D列を選択して「データ」「区切り位置」で「完了」します。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
同ファイル内で処理する場合は、この方法が簡単でした。

お礼日時:2010/07/06 10:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング