エクセルやgoogleスプレッドシートで、下記のようなデータが入力されていたとします。
【元データ(シート)】
A B C D E F
1行目・・・ 山田 国語 英語 理科 社会 音楽
2行目・・・ 鈴木 理科 社会 英語 数学 国語
3行目・・・ 山田 数学 国語 英語 音楽 社会
4行目・・・ 山田 社会 英語 音楽 理科 数学
上記のデータが入力されているシートから、山田さんのデータのみを別のシートへ下記のように
集計?表示?するような関数ってありますでしょうか?
【作りたいデータ(シート)】
山田のデータのみのシート
A B C D E
1行目・・・国語 英語 理科 社会 音楽
2行目・・・数学 国語 英語 音楽 社会
3行目・・・社会 英語 音楽 理科 数学
希望としては、元データシートに5行・6行とどんどんデータを入力をしていく度に、
元データシートA列の名前で判断をし個人別で別シートにデータを1行目から順に並べたいです。
このような事は可能でしょうか?
いろいろと調べてみましたがうまく調べられずわからなかったので、
質問させていただきました。
わかる方いらっしゃいましたら、回答をお願いいたします。
No.1ベストアンサー
- 回答日時:
毎日だいたい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())関数で左側を取ってくることでも出来ます。
同じような質問がたくさんあったのが、分からず質問してしまってすみませんでした。
自分自身、よくわかっていない状態でしたので、助かりました。
他の片が回答して下さったものも含め、参考にさせていただきたいと思います。
ありがとうございました。
No.2
- 回答日時:
山田のデータのみのシートのデザインですが、
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セルに
山田
と入力するだけで、抽出結果が表示されます。
詳しい説明ありがとうございました。
自分自身、よくわかっていない状態でしたので、助かりました。
他の片が回答して下さったものも含め、参考にさせていただきたいと思います。
ありがとうございました。
No.3
- 回答日時:
条件をつけて抜き出し問題で、週に数回この質問コーナーに現れるFAQだ。
それも関数でやりたいという(それしか知らない)質問者からだから困る。
表計算の関数では、抜き出し問題は式(その背後にある考え方)が複雑になって、初心者には難しいものになる。
Googleででも「imogasi方式」で照会し、数個の質問の回答を読めば、1つの式で出来る式は、INDEX、SMALL、MATCHなど組み合わせた式や配列数式を使ったものなどが出てくる。これらは関数の組み合わせた意味さえ初心者、中級者には理解が難しい。全セル複雑な式で埋まる(全式が再計算される可能性あり)。
興味あれば勉強してみて。
ーー
それよりフィルタなどの操作による解決や
ピボットによる解決を勧める。
ーー
上記imogasi方式では、該当の(山田の)行に上から連続番号を関数で振る。その作業列を1列使ってしまうが。
そして(同一シートか)別シートなりに、第1行目は、元シートの連番の1をMATCH関数で探して、第2行目には連番の2
をMATCH関数で探して、・・・、1セルずつデータを新シートなどに持ってくる。
セルの式は縦方向、横方向の2回の式の複写で出来る。
あと余分な行まで式を複写しておくためのエラーの表示を抑止するテクニックなどが必要。
これも全セル式で埋まる。
同じような質問がたくさんあったのが、分からず質問してしまってすみませんでした。
自分自身、よくわかっていない状態でしたので、助かりました。
他の片が回答して下さったものも含め、参考にさせていただきたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- 中学校 理科だけが極端に苦手 5 2022/09/10 14:18
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- 高校受験 公立高校の英語科に行きたいのですが 3 2022/10/07 01:26
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- 中学校 夏休みの課題、ほとんど、無くしてしまいました 残っているのは、社会だけです 国語、数学、理科、英語、 3 2022/08/28 20:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessのクエリで、replace関数...
-
Vba Userformを前面に出すについて
-
Access IF文でテーブルに存在し...
-
【Access】Dcount関数の複数条...
-
Access VBA [リモートサーバー...
-
Access VBA を利用して、フォル...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Access で半角スペースと全角ス...
-
Access VBA でHTML文を表示したい
-
Accessのテキストボックスの入...
-
Microsoft365にAccessってあり...
-
教えてください! アクセスの書...
-
実行時エラー3131 FROM 句の構...
-
Accessのフォーム上のテキスト...
-
ACCESS2019でのエラーメッセージ
-
CSVファイルの「0落ち」にVBA
-
Accessレポートのチェックボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
ACCESS VBA でのエラー解決の根...
-
Accessのスプレッドシートエク...
-
Access VBA を利用して、フォル...
-
【Access】Dcount関数の複数条...
-
accessデータを指定したExcel、...
-
Accessレポートのチェックボッ...
-
Access VBA [リモートサーバー...
-
Vba Userformを前面に出すについて
-
Accessのリンクテーブルのパス...
-
実行時エラー3131 FROM 句の構...
-
Accessのフォーム上のテキスト...
-
CSVファイルの「0落ち」にVBA
-
Access 複数条件検索の設定が上...
-
アクセス 削除するレコードを含...
-
Access で半角スペースと全角ス...
-
access 更新クエリについて
-
Accessのクエリの結果を、既存...
おすすめ情報