アプリ版:「スタンプのみでお礼する」機能のリリースについて

第1行に47都道府県名、列Aに1980ー1999年の入った表があります
つまり、B2は北海道の1980年のデータ、AV21は沖縄の1999年のデータが入ります
この表を以下のように1列に変換するにはどうすればよいでしょうか
INDEX関数などで試そうとしましたができませんでした

列A 列B 列C
北海道 1990 元B2のデータ
北海道 1991 元B3のデータ
(中略)
沖縄 1998 元AV20のデータ
沖縄 1999 元AV21のデータ

A 回答 (2件)

こんばんわ。



INDIRECT関数を使用して、R1C1形式のセル指定で、変換データを表示する計算式を考えました。

元データがシート"Sheet1"にあるとして、変換データを別シートに表示する計算式を下に示します。
なお、変換データは、セルA2~C941に入れるものとします。

A列(A2~A941)の式
=INDIRECT("Sheet1!R1C["&INT((ROW()-2)/20)+1&"]",FALSE)
B列(B2~B941)の式
=INDIRECT("Sheet1!R["&INT((ROW()-2)/20)*(-20)&"]C1",FALSE)
C列(C2~C941)の式
=INDIRECT("Sheet1!R["&INT((ROW()-2)/20)*(-20)&"]C["&INT((ROW()-2)/20)-1&"]",FALSE)
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2005/12/10 20:38

質問の例がわかりにくいが、Index関数でできます。


Sheet2の、第1行は
A1=空白、B1=北海道、C1=青森、D1=秋田、E1=岩手、・・・AV1=沖縄ですね。
A2=1980、A3=1981,A4=1982、・・・・・A21=1999ですね。
B2:AV21までに計数が入っている。
北海道青森岩手 右は省略
198012141
198122242
198232343
198342444
198452545
198562646
198672747
198782848
198892949
1989103050
1990113151
1991123252
1992133353
1993143454
1994153555
1995163656
1996173757
1997183858
1998193959
1999204060
計数は、結果が正しいか、わかりやすくするためわざと連番にしている。
ーーーーーー
府県をA列に20行ずつ並べるやり方。
Sheet3に
A2に
=INDEX(Sheet2!$B$1:$AV$2,1,INT((ROW()-2)/20)+1)
と入れて20*47+1行まで式を複写する。
計数部分について
Sheet3の
B2に
=INDEX(Sheet2!$B$2:$AV$21,MOD((ROW()-2),20)+1,INT((ROW()-2)/20)+1)
と入れて、20*47+1行まで式を複写する。
結果
北海道1
北海道2
北海道3
北海道4
北海道5
北海道6
北海道7
北海道8
北海道9
北海道10
北海道11
北海道12
北海道13
北海道14
北海道15
北海道16
北海道17
北海道18
北海道19
北海道20
青森21
青森22
青森23
青森24
青森25
青森26
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2005/12/10 20:39

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