エクセル2003で1つのシートのデータを別の2つのシートに振分ける方法
- エクセル2003で1つのシートのデータを、2つのシートに振り分けるための関数はありますか?
- 指定した列のデータを条件に基づいて別のシートに振り分ける方法を教えてください。
- 同じデータを何度も入力する手間を省くために、エクセル2003で効率的なデータの振り分け方法を知りたいです。
- ベストアンサー
エクセル2003で1つのシートのデータを別の2つのシートに振分けるには
エクセル2003で1つのシートのデータを、2つのシートへ振り分けるための関数はあるのでしょうか?例えば seet1に次のようなデータガあるとして A B C D 1 氏名 年齢 性別 住所 2 佐藤 30 男性 東京都 3 伊東 40 女性 大阪府 4 中村 50 男性 北海道 5 後藤 60 女性 京都府 C列「性別」に「男性」を入力すればseet2に、「女性」だったらseet3に。 氏名や年齢等を上から順番に表示(入力)させたいんですが… (seet2・3ともに、データの列の順番はseet1とは異なりなす。) 次にseet1の「6列目」に男性を入力するとseet2の「4列目」に行くように (表を作ると) seet2には A B C 1 住所 氏名 年齢 2 東京都 佐藤 30 3 北海道 中村 50 4 (seet1「6列目」の人) seet3には A B C 1 住所 氏名 年齢 2 大阪府 伊東 40 3 京都府 後藤 60 seet1に入力したデータを、性別で振り分けseet2に男性、seet3に女性を… 関数を使いできるでしょうか? 実際には同じようなデータを何度も「コピぺ」で入力していて非常に面倒くさいので、宜しくお願いします。ちょっと、分かりにくいですか?
- jackkcaj
- お礼率80% (12/15)
- その他MS Office製品
- 回答数3
- ありがとう数4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像で説明させていただきます。 Sheet1のA列を作業用の列とさせていただいています。 Sheet1のA2セルに =IF(B2="","",IF(D2="男性",1,2)) として、オートフィルで下へコピーします (Sheet2・3の数式をそれぞれ1000行まで対応できるようにしていますので、1000行くらいまでコピーしても構いません) これで男性には1 女性には2 が表示されるはずです。 (ハーフの方は判別できません) Sheet2(男性)のA2セルに =IF(COUNTIF(Sheet1!$A$2:$A$1000,1)>=ROW(A1),INDEX(Sheet1!$E$2:$E$1000,SMALL(IF(Sheet1!$A$2:$A$1000=1,ROW($A$1:$A$999)),ROW(A1))),"") これは配列数式になってしまいますので もしこの画面からコピー&ペーストされる場合は 単に貼り付けただけではエラーになると思いますので セルに貼り付け後、F2キーを押すか、数式バー内で一度クリックします。 編集可能になりますので、 Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 そして、B2セルに =IF($A2="","",INDEX(Sheet1!$B$2:$C$1000,SMALL(IF(Sheet1!$A$2:$A$1000=1,ROW($A$1:$A$999)),ROW(A1)),COLUMN(A1))) (これも配列数式になってしまいます。) B2セルのフィルハンドルでC2セルまでコピーします。 最後にA2~C2セルを範囲指定し、C2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 女性も同様の操作ですが、 数式が少し違いますので Sheet2の数式も書いておきます。 Sheet3のA2セルに(配列数式です) =IF(COUNTIF(Sheet1!$A$2:$A$1000,2)>=ROW(A1),INDEX(Sheet1!$E$2:$E$1000,SMALL(IF(Sheet1!$A$2:$A$1000=2,ROW($A$1:$A$999)),ROW(A1))),"") B2セルに(配列数式です) =IF($A2="","",INDEX(Sheet1!$B$2:$C$1000,SMALL(IF(Sheet1!$A$2:$A$1000=2,ROW($A$1:$A$999)),ROW(A1)),COLUMN(A1))) としてC2セルまでコピー 最後にA2~C2セルを範囲指定し、C2セルのフィルハンドルで下へコピー 尚、作業用の列をもう少し増やせば配列数式にしなくても良いような感じがします。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。 どうも長々と失礼しました。m(__)m
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
配列数式といった方法でなくとも次のようにすればよいでしょう。 シート1のE列を作業列として次の式を下方にオートフィルドラッグします。 =IF(A2="","",IF(C2="男性","1/"&COUNTIF(C$2:C2,"男性"),"2/"&COUNTIF($C2:C2,"女性"))) この式は今後データが追加されると思われる行までドラッグすればよいでしょう。 この式では男性の場合には1で男性が入力されている最初の行では1/1というように表示されます。女性の場合には2で最初の行では2/1のように表示されます。 シート2では1行目に項目を希望する順序で列に並べて入力します。 A2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(A$1="",COUNTIF(Sheet1!$E:$E,"1/"&ROW(A1))=0),"",INDEX(Sheet1!$A:$D,MATCH("1/"&ROW(A1),Sheet1!$E:$E,0),MATCH(A$1,Sheet1!$1:$1,0))) シート3でもシート2と同様に1行目に項目名を入力します。 A2セルには次の式を入力し右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(A$1="",COUNTIF(Sheet1!$E:$E,"2/"&ROW(A1))=0),"",INDEX(Sheet1!$A:$D,MATCH("2/"&ROW(A1),Sheet1!$E:$E,0),MATCH(A$1,Sheet1!$1:$1,0)))
お礼
KURUMITO さん ありがとうございました。出来ました!一部ですが… 項目が多く微妙に違うので困っています。 報告する部署が違うのんですよねー…何とも… もうちょっと頑張ってみます。 でも別のところでも使えそうでうすね。 ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
振り分けは一度切りですか? 性別にオートフィルターを付けて行を絞り込むではだめですか? 男性・女性に分ける前に列の順序入れ替えした方が楽とは思いますが。
お礼
早速、有り難うございます。いやーびっくりしました。 実際仕事で使っているんですが、元々seet1とseet2・3のデータの内容が違うんですよ。ちょっと分かりづらかったですね。でも、こんなに早く回答してもらうとは思っていませんでした。有り難うございました。
関連するQ&A
- エクセルで別シートを参照していて、参照元のデータを変更した場合
エクセルで別シートを参照したいのですがうまくいきません。 (1)Sheet1には顧客データが入っています。 【Sheet1】 A B C 1 氏名 住所 性別 2 小川 東京 男 3 佐藤 大阪 女 4 鈴木 福岡 女 (2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。 【Sheet2】 A B C D 1 氏名 住所 12/1 12/15 2 小川 東京 1 5 3 佐藤 大阪 1 5 4 鈴木 福岡 1 5 (3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました) 【Sheet1】 A B C 1 氏名 住所 性別 2 小川 東京 男 3 加藤 沖縄 男 4 佐藤 大阪 女 5 鈴木 福岡 女 (4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。 【Sheet2】 A B C D 1 氏名 住所 12/1 12/15 2 小川 東京 1 5 3 加藤 沖縄 4 佐藤 大阪 1 5 5 鈴木 福岡 1 5 (5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCELで他のシートのデーターを反映させるには
office2000のEXCELです。 仮に「シート1」と「シート3」があります、「シート1」にはA列(氏名)B列(年齢)とします、 「シート3」は会員名簿で氏名(C列)と年齢(D列)が書かれています(60件位)。 「シート1」のA列(氏名)をクリックすると「シート3}の名簿が表示されて氏名(c列)をクリックする事により「シート1」のA列(氏名)B列(年齢)が入力できるような仕組みは可能でしょうか。 リスト入力・コンボボックス等チャレンジしてみましたが何れもうまくいきませんでした。 初心者にはむりでしょうか? 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 複数のシートから幾つのデータを抽出して一つシートにまとめるのは可能ですか
ひとつのExcelブックにはsheetが100ぐらいあります。 例え: sheet1は 部門 営業部 氏名 田中純一 年齢 20 性別 男 点数 80 sheet2は 部門 事業部 氏名 中村なな 年齢 25 性別 女 点数 70 ・・・・ 次のようなsheetを作りたい。 部門 氏名 点数 営業部 田中純一 80 事業部 中村なな 70 ・・・・・・・・・・・ 手動で、各シートから、データを取るのは大変時間かかりますので、 もっと簡単の方法はありませんでしょうか。 アドバイスを頂けばと思います。
- 締切済み
- その他(ビジネス・キャリア)
- エクセルで別ファイルのデータを読み込み自動入力させたいのですが
【顧客リスト】というファイルのsheet1に、A列を氏名、B列を住所、C列を年齢の欄として複数行入力しています。 【見積書】というファイルのセルE20に氏名を入力すると、【顧客リスト】A列から同じ値の行を探し出し、その同行のB列の値を【見積書】のE21に自動的に入力されるようにしたいと思っています。 どなたかご回答の程、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- excel2003 2列のデータを1列に
エクセル2003にて 下記のように2列のデータを1列に表示させたいと思っております。 A列 B列 C列 田中 佐藤 田中 鈴木 池田 このように> 鈴木 後藤 内藤 後藤 佐藤 池田 内藤 C列に入れる数式をお教えください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのデータ整理で。
2日続きで教えてもらいに来ました^^;よろしくお願いします。 エクセルのデータの整理をしております。 Sheet1,Sheet2のデータをSheet3へ反映したいと考えております。 Sheet1には、以下のようなデータがあります。 A B C D 住所 氏名 年齢 家族数 1 東京 鈴木 30 3 2 埼玉 田中 33 5 3 千葉 高橋 40 2 4 東京 伊東 31 4 Sheet2には、以下のようなデータがあります。 A B C D 住所 氏名 年齢 家族数 1 埼玉 林 22 1 2 千葉 森 29 2 3 東京 岡 25 3 4 東京 南 27 1 これらのうち、Aに「東京」とあれば、Sheet3に1行目から順に抽出したい。以下のようにしたいのです。 A B C D 1 東京 鈴木 30 3 2 東京 伊東 31 4 3 東京 岡 25 3 4 東京 南 27 1 アドバイスお願いします。
- 締切済み
- オフィス系ソフト
- エクセルで別シートを参照
「あ」のシートに"社員番号"(A列)と"カナ"(B列)のリストがあり、 「い」のシートには"社員番号"(A列)と"漢字氏名"(B列)・"部署"(C列)のリストがあります。 「あ」のシートのC列とD列に、「い」のシートのB列とC列を表示させるにはどうしたらよいでしょうか。 新規に社員番号を入力していく場合は、VLOOKUPなどで出来ると思いますが、すでに入力済みのデータについて一括で参照する方法が判りません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで作成した一覧表をカード形式にしたい。
エクセルで作成した一覧表をカード形式にしたいのですが 例えばsheet1の 列1のセルA、B、C、D、E、Fに 山田さんの住所、氏名、年齢、職業、電話、備考 列2にセルA、B、C、D、E、Fに 佐藤さんの住所、氏名、年齢、職業、電話、備考、 列3にセルA、B、C、D、E、Fに 大山さんの… (以降は同様の繰り返し)を入力したとき、 sheet2の 列1のセルA、Bに山田さんの住所、氏名、 列2のセルA、Bに山田さんの年齢、職業、 列3にセルA、Bに山田さんの電話番号、備考、 列4にセルA、Bに佐藤さんの住所、氏名、 列5にセルA、Bに佐藤さんの年齢、職業、 列6にセルA、Bに佐藤さんの電話番号、備考、 列7にセルA、Bに大山さんの住所、氏名、 列8にセルA、Bに大山さんの年齢、職業、 列9にセルA、Bに大山さん電話番号、備考、 列10… と表示されるようにしたいのですが sheet2のA1、B1、A2、B2、A3、B3セルに数式を入力し 列4以降にコピーしても飛び飛びになってうまくいきません。 入力規則かと6列目まで増やしてコピーしても 7列目以降に正しくコピーできません。 何か関数が必要なのでしょうか?過去の質問も検索しましたが よく分かりません。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 2列のデーターを別シートに1列にまとめる
初心者です。是非ご教授ください。 【シート1】 佐藤 田中 1 10 2 5 3 5 4 3 5 3 6 10 【シート2】 A B C 1 10 2 5 3 5 4 3 5 3 6 10 佐藤に入力が有ると必ず田中は入力なしになり、田中に入力が有ると佐藤は入力有りません。 ですのでシート2で1列に出来る関数はありますか?
- ベストアンサー
- オフィス系ソフト
- エクセル2007 データ抽出(関数)について
教えてください。エクセルシートにて郵便番号と住所が重複しているデータを抽出したいのです。 例)ある顧客の情報として、シート1のA列に、1から10までの新規顧客の氏名、B列には生年月日が入力されています。C列,D列は空白で、E列には全ての顧客(新規顧客を含みます)の氏名、F列には生年月日、G列には郵便番号、H列には住所が入力されています。このふたつの情報の中から、新規顧客データと全ての顧客データの氏名、生年月日が重複している顧客のみ、C列にその郵便番号、D列に住所を表示させたいのです。 OSはXP エクセル2007です。 困っています。よろしくお願いします。
- ベストアンサー
- Windows XP
お礼
有り難うございます。びっくりしました。私が質問を入力するより、この長文、またこの数式でこんなに早いとは…恐れ入ります。「配列数式」ですかぁ。日頃エクセルを使っている者として、恥ずかしいですが聞いたこと無かったです。実際に仕事に使っているのが、もともと違うファイルで、seet1とseet2・3は一部だけが同じデータで、しかし重複している所もあるという何とも面倒くさいものなので、助かります。 作業用の列は確か、AU列くらいまではあったような気がします。月曜日に仕事場で試してみます。有り難うございました。「配列数式」についても、それまでに勉強しないといけないですね(^_^;)