こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelで値を抽出する方法

現在以下のようなExcelシートがあります。
     1958年 1959年…
北海道1月 ○○(データ)○○
北海道2月 ○○    ○○
 ・
 ・
北海道12月○○   ○○
青森県1月○○   ○○
青森県2月○○   ○○ 
 ・
 ・
青森県12月
岩手県1月
 ・
 ・
これを以下のような並びにしたいのですが、LOOKUP関数などを使ってできないでしょうか?よろしくお願いします。

1月  1958年 1959年…
北海道○○  ○○
青森県○○  ○○
岩手県○○  ○○
 ・
 ・

※ちなみにパソコンのOSはWindows XPで、使っているのはExcel2007です。また一番最初に書いた表は、「北海道」で1つのセル、「1月」で1つのセルにしています。

投稿日時 - 2008-07-10 12:16:54

QNo.4165432

すぐに回答ほしいです

質問者が選んだベストアンサー

安直ですが、オートフィルタを利用されては如何でしょうか。
(1)シート任意セルを選択→データ→フィルタ→オートフィルタ
(2)「月」の列にあるフィルタボタンで1月~12月を選択、抽出範囲を別シートにコピー&ペーストして表編集

投稿日時 - 2008-07-10 12:29:27

お礼

ご指導の方法で試したら、うまくいきました。
だいぶ作業量が減りました、どうもありがとうございました。

投稿日時 - 2008-07-10 22:01:09

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

セルのデータの有様が十分わからないが、勝手に解釈して
標準モジュールには、月数を割り出す関数を作る。
質問の書き方だと、月数を決めるのさえ関数では難しい。
(県と月数はセルは分けてあるのか質問ではっきりすべきだが?)
Function tuki(a)
s = ""
p = InStr(a, "月")
For i = p - 2 To p - 1
If IsNumeric(Mid(a, i, 1)) Then s = s & Mid(a, i, 1)
Next i
s = StrConv(s, vbNarrow)
tuki = Val(s)
End Function
ーー
(例データ)
B列に1列挿入して=tuki(A2)と入れて下方向に式を複写
A列   B列
北海道1月  1
北海道2月  2
北海道3月  3
北海道4月  4
北海道12月  12
青森県1月  1
青森県2月  2
青森県3月  3
青森県4月  4
青森県11月  11
青森県12月  12
岩手県1月  1
岩手県2月  2
岩手県3月  3
B列でソート
ーー北海道1月1
青森県1月1
岩手県1月1
北海道2月2
青森県2月2
岩手県2月2
北海道3月3
青森県3月3
岩手県3月3
北海道4月4
青森県4月4
青森県11月11
北海道12月12
青森県12月12
この表を月見出し行を挿入して整える。計数データ列も同時に範囲指定して、ソートすること。
ーー
北海道ー青森ー・・の順が保存されることに注意。A列をソートキーに指定すると県順序が崩れるから注意。
===
47府県そろっているのかなど規則性があれば関数でも不可能ではないかもしれないが関数では難しい。
北海道のあとに青森が来るというルールさえも関数では取りにくい。
従って完成の表で北海道の後に青森を持って来ることが難しい。

投稿日時 - 2008-07-10 14:35:25

お礼

不十分な点もあったようですが、回答いただきありがとうございます。
関数ではなく、ソートを使うという手もあったのですね。
今後の参考にさせていただきます。
ありがとうございました。

投稿日時 - 2008-07-10 22:05:21

あなたにオススメの質問