エクセルやgoogleスプレッドシートで、下記のようなデータが入力されていたとします。

【元データ(シート)】
        A B C D E F
1行目・・・ 山田 国語 英語  理科  社会  音楽
2行目・・・ 鈴木 理科 社会  英語  数学  国語
3行目・・・ 山田 数学 国語  英語  音楽  社会
4行目・・・ 山田 社会 英語  音楽  理科  数学


上記のデータが入力されているシートから、山田さんのデータのみを別のシートへ下記のように
集計?表示?するような関数ってありますでしょうか?

【作りたいデータ(シート)】

山田のデータのみのシート
       A B C D E
1行目・・・国語 英語  理科  社会  音楽
2行目・・・数学 国語  英語  音楽  社会
3行目・・・社会 英語  音楽  理科  数学


希望としては、元データシートに5行・6行とどんどんデータを入力をしていく度に、
元データシートA列の名前で判断をし個人別で別シートにデータを1行目から順に並べたいです。


このような事は可能でしょうか?

いろいろと調べてみましたがうまく調べられずわからなかったので、
質問させていただきました。

わかる方いらっしゃいましたら、回答をお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

毎日だいたい1つか2つは同系統のご相談が寄せられるFAQですが,ご質問者さんによって,


・理解できなくてもコピーすれば出来るムズカシイ式に飛びつく人
・作業列を幾つか使って簡単な式だけで出来る方法がいいと思う人
に分かれます。前者の方が8割ぐらいで多いと思いますが。


【前者】
山田シートのA1:
=index(Sheet1!a:a,small(if(sheet1!$A$1:$A$999="山田",row($A$1:$A$999),9999),row(a1)))&""
をコントロールキーとシフトキーを押してEnterで入力,右にコピー,下にコピー

【後者】
元のシートのA列:
A1:
=B1&COUNTIF($B$1:B1,B1)
B1以下B列
山田etc
C列以降
国語算数理科社会etc

山田シートのA1:
=IF(ROW(A1)>COUNTIF(Sheet1!B:B,"山田"),"",ROW(A1))
以下コピー
山田シートのB1:
=IF($A1="","",VLOOKUP("山田"&$A1,Sheet1!$A:$G,COLUMN(C1),FALSE))
右にコピー,下にコピー


元のシートのA列を他の用途に使うのは絶対に許せない場合は,端っこの邪魔にならないM列とかに「山田1,2,3」を作成してINDEX(MATCH())関数で左側を取ってくることでも出来ます。
    • good
    • 0
この回答へのお礼

同じような質問がたくさんあったのが、分からず質問してしまってすみませんでした。

自分自身、よくわかっていない状態でしたので、助かりました。

他の片が回答して下さったものも含め、参考にさせていただきたいと思います。

ありがとうございました。

お礼日時:2011/04/18 15:16

条件をつけて抜き出し問題で、週に数回この質問コーナーに現れるFAQだ。


それも関数でやりたいという(それしか知らない)質問者からだから困る。
表計算の関数では、抜き出し問題は式(その背後にある考え方)が複雑になって、初心者には難しいものになる。
Googleででも「imogasi方式」で照会し、数個の質問の回答を読めば、1つの式で出来る式は、INDEX、SMALL、MATCHなど組み合わせた式や配列数式を使ったものなどが出てくる。これらは関数の組み合わせた意味さえ初心者、中級者には理解が難しい。全セル複雑な式で埋まる(全式が再計算される可能性あり)。
興味あれば勉強してみて。
ーー
それよりフィルタなどの操作による解決や
ピボットによる解決を勧める。
ーー
上記imogasi方式では、該当の(山田の)行に上から連続番号を関数で振る。その作業列を1列使ってしまうが。
そして(同一シートか)別シートなりに、第1行目は、元シートの連番の1をMATCH関数で探して、第2行目には連番の2
をMATCH関数で探して、・・・、1セルずつデータを新シートなどに持ってくる。
セルの式は縦方向、横方向の2回の式の複写で出来る。
あと余分な行まで式を複写しておくためのエラーの表示を抑止するテクニックなどが必要。
これも全セル式で埋まる。

この回答への補足

今回は一番初めに回答を下さった方をベストアンサーとさせていただきます。

補足日時:2011/04/18 15:19
    • good
    • 0
この回答へのお礼

同じような質問がたくさんあったのが、分からず質問してしまってすみませんでした。

自分自身、よくわかっていない状態でしたので、助かりました。

他の片が回答して下さったものも含め、参考にさせていただきたいと思います。

ありがとうございました。

お礼日時:2011/04/18 15:17

 山田のデータのみのシートのデザインですが、



     A列  B列  C列  D列    E列
1行目  国語 英語 理科 社会 音楽
2行目  数学 国語 英語  音楽 社会
3行目  社会 英語 音楽 理科 数学

という形式では、誰のデーターなのか分かりませんから、以下の様にされては如何でしょうか。

     A列  B列  C列  D列    E列
1行目  山田
2行目  国語 英語 理科 社会 音楽
3行目  数学 国語 英語  音楽 社会
4行目  社会 英語 音楽 理科 数学

 尚、A1セルに入力した「山田」という文字列は、関数処理の判定でも使用しますから、元データーのA列に入力した名前と同じ文字列にして下さい。(「山田のデーター」等の様に、余計なものは付け加えない様にして下さい)
 そして、今仮に、元データーが存在するシートのシート名がSheet1であるものとした場合、山田のデータのみのシートのA2セルには、次の数式を入力して下さい。

=IF(ROWS($2:2)>COUNTIF(Sheet1!$A:$A,$A$1),"",INDEX(Sheet1!B:B,SUMPRODUCT(ROW(Sheet1!$A$1:INDEX(Sheet1!$A:$A,MATCH("゛",Sheet1!$A:$A,-1)))*(Sheet1!$A$1:INDEX(Sheet1!$A:$A,MATCH("゛",Sheet1!$A:$A,-1))=$A$1)*(COUNTIF(OFFSET(Sheet1!$A$1,,,ROW(Sheet1!$A$1:INDEX(Sheet1!$A:$A,MATCH("゛",Sheet1!$A:$A,-1)))-ROW(Sheet1!$A$1)+1),$A$1)=ROWS($2:2)))))

 次に、山田のデータのみのシートのA2セルをコピーして、B2~E2の範囲に貼り付けて下さい。
 次に、山田のデータのみのシートのA2~E2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。

 後は、山田のデータのみのシートのA1セルに

山田

と入力するだけで、抽出結果が表示されます。

この回答への補足

今回は一番初めに回答を下さった方をベストアンサーとさせていただきます。

補足日時:2011/04/18 15:19
    • good
    • 0
この回答へのお礼

詳しい説明ありがとうございました。

自分自身、よくわかっていない状態でしたので、助かりました。

他の片が回答して下さったものも含め、参考にさせていただきたいと思います。

ありがとうございました。

お礼日時:2011/04/18 15:17

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

Qエクセル、複数行のデータを別シートに集計するには?

複数行のデータを別シートに、伝票番号別、品名別に反映させるにはどのような関数にすればいいですか?
例えば、

[シート1]
伝票番号   品名   数量
aaa      りんご   50
aaa      バナナ   30
aaa      もも     15
bbb      バナナ   20
bbb      りんご   33
ccc      りんご   10
ccc      バナナ    40

[シート2]

   A      B    C    D   
1         aaa  bbb  ccc
2 りんご    50   33   10
3 バナナ    30   20   40
4 もも      15

[シート1]の様なデータがあり、それを[シート2]のセルB1に伝票番号を入力したらセルB2、B3...と数量が反映するようにしたいです。
わかりづらくてすいません。
どなたかわかる方がいらしたらお願いします。

   

Aベストアンサー

B2 =SUMPRODUCT((伝票番号の範囲=B$1)*(品名の範囲=$A2)*数量の範囲)
伝票番号・品名・数量それぞれの範囲は絶対指定で。

こんな式で良いのでは?
これをコピペで行けるかと思います。

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

Q複数のシートにあるテーブルデータを1枚のシートで集計

こんにちは。
複数のシート上にあるテーブルデータを1枚のシートで集計したいと思います。
A列に"入金日 " B列に"担当者名" C列に"入金額" D列に"店舗名"とあるのですが、元データが入金日を基準に入力されているので、担当者名がダブっています。これを新しいシート一枚に各担当者ごとに合計の入金額を出したいのですが、どのようにしたら出来るでしょうか?
当方で、統合機能を使ってやってみましたが、担当者名と入金額は出るのですが、店舗名が1【合計しているためと思いますが、】になってしまいます。

Aベストアンサー

 「エクセル」ソフトのこととして回答します。
 複数のシートを1枚にまとめるには「串刺し」集計という方法があります。参考書やネットで検索して下さい。全てのシートと集計用のシートを全く同じ書式に設定するのが基本です。今ではかなり簡単にできると思いますが、20年位前には集計シートに計算式をマウスのクリックで入れていました。
 そうしておけば各シートに数値を入力すれば、同時に集計シートに反映されます。
 集計シートさえできれば、これに基づいて「ソート」などの方法を使えば、ご希望の数値が把握できるようになると思います。

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Q「Google スプレッドシート」の説明の仕方

Google ドライブのスプレッドシートを使っています。
友人から「それはなんのアプリ?」と聞かれました。

言葉遣いなのですが
「Google スプレッドシートはGoogle ドライブというアプリ(ソフト?) のひとつの機能」といったのですがあってますか。

それからアプリとソフトの違いがわかりません。
教えてください。

よろしくお願いします。

Aベストアンサー

あなたの説明で間違いはありませんが、スプレッドシートのことは、Googleドライブのアプリというよりも、ネット上で使えるExcelのような表計算ソフト、と説明する方が分かるとは思います。

アプリはソフトの一部です。
http://www.724685.com/word/wd121125.htm

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Q番号入力後に データベースシートから自動入力

エクセルの関数で、 下記、ご助言願います。


エクセルのシートで、 番号と項目名(1対1対応)を記載したデータベースシートを作ります。 
別シートで、番号を入力すると 先程のデータベースシートを参照して、(番号入力をしたセルの横のセルに) 入力番号に対応する項目名を自動で入力するようにしたいと思います。 関数で可能でしょうか?

例えば、 
データベースシート: 
01 りんご 
02 みかん
03 バナナ

入力シート
03 <ばななが自動入力>


よろしくお願いいたします。

Aベストアンサー

VLOOKUPで行けるでしょう

VLOOKUP関数の使い方
http://www.iwaseh.com/TSU06/nyuumon2b/09/nyuumon2-09.pdf

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

Q複数のシートから条件にあうデータを集計する方法がわかりません

現場事にシートを設定し、そのシートには現場で使う各下請け業者への月毎の発注額が記載されております。現場事に使う業者は様々です。例えば4月のAという業者への各現場への発注額を集計したいのですが、うまくいきません。
よい方法はないものでしょうか?よろしくお願いします

Aベストアンサー

表が大きくなってしまうので使えるか分かりませんが参考までに。

例えば、A列に下請け業者名を全て入力します。
A社~Z社まであるのでしたら、使用頻度に関係なくその全てです。
次にB列に発注額を記載する欄を作ります。

そのシートを原簿として、シートをコピーし、
現場ごとにシートを作ります。
最後に集計用のシートを別にコピーしておきます。
集計用は全シートの最初、または最後に置いて下さい。

次に集計用のシートに関数を入力します。
仮に現場シート名を、ア・イ・ウ・エとすると、
式は下記の様になります。

=SUM('ア:エ'!B2)
※1行目に項目、2行目からデータとします
※シートの順番が、ア・エ・ウ・イでしたら上記式の「エ」の部分は「イ」になります

これをZ社までコピーして終了。
ちなみに「オートSUM」も使用できます。
(Σ←こんなマークのボタンの事)
集計シートのセルB2を左クリックし、オートSUMを左クリック。
シート順が一番始めのシートを開き、B2を左クリック。
「Shift」キーを押しながら、一番最後のシートを開きB2をクリック。
「Shift」キーを離し、「Enter」キーで入力完了。
これをZ社までコピーして終了です。

表が大きくなっていまうのが難点ですが、
金額を出したいだけでしたら使えるかと思います。

長くなりましたが、こんなのはどうでしょう?

表が大きくなってしまうので使えるか分かりませんが参考までに。

例えば、A列に下請け業者名を全て入力します。
A社~Z社まであるのでしたら、使用頻度に関係なくその全てです。
次にB列に発注額を記載する欄を作ります。

そのシートを原簿として、シートをコピーし、
現場ごとにシートを作ります。
最後に集計用のシートを別にコピーしておきます。
集計用は全シートの最初、または最後に置いて下さい。

次に集計用のシートに関数を入力します。
仮に現場シート名を、ア・イ・ウ・エとすると...続きを読む


人気Q&Aランキング

おすすめ情報