• 締切済み

同じ行に混在している別々の項目の抜き出し

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

そもそも、エクセルで条件による抜き出しは、良い関数がない。こういう問題には適してない。エクセルの関数は計算が中心。 無理にしようとすると、既に出ている回答のような、長く、且つ初心者には理解できない式になる。 今まではそれでも初心者や、ここの質問者はコピペして、旨く出来ましたと、いっているのが多い。 それでもよければそうしたら良い。 ーーー もうひとつ、A列に現われる名前の一覧を出すのも、質問者は気づいてないだろうが、結構難しいのだ。 そこで関数を使わず操作だけでやる方法を参考に挙げておく。 ーー A列の名前の、もれがなく、ダブりがない、一そろいの名前が必要です。その出し方を書く。 A1:A13 3対づつになっているが、2回しかない人が居ても良い 氏名 佐藤 田中 上野 山田 佐藤 田中 上野 山田 佐藤 田中 上野 山田 メニュ0のデーターフィルターフィルタオプションの設定ー 抽出先 指定した範囲 リスト範囲 A1:A13 抽出する範囲 D1:D11 重複するレコードは無視する  OK ーーー 結果 D1:D5 氏名 佐藤 田中 上野 山田 ーーーー D1:D5範囲指定 編修ーコピー E2:IV2を名愛指定 編修ー形式を選択して張り付け 行列を入れ替える。 ーーー E1を選択 E1に式 =IF(MOD(COLUMN(),3)=2,INDEX($E2:$IV2,1,INT((COLUMN()-3)/3)),"") を入れて右方向に式を吹くさh D1:D4をクリア E2より右列をクリア。 E1:IV1をコピー 同じ範囲にkウィ式を選択して貼り付けー値 で式を消す。 === 名前で並べ替えて、VBAで名前ごとに別のセル範囲に移すのが、考えやすいがVBAができないあdろうし悩ましい。、 ーーー でも手作業で並べ替えるのが、質問を出して回答を待って理解して、自分のために修正するより速いだろう。 50人までなら確実に手作業がに速い。

関連するQ&A

  • SQLの質問です。

    以下のようなテーブルで、レベルが4以下で点数が入力されているMAXの行を取得したいです。 よろしくお願いいたします。 職員番号 氏名 レベル 点数 01000 山田 花子 4 01000 山田 花子 3 40 01000 山田 花子 2 30 01000 山田 花子 1 20 01100 田中 あああ 4 10 01100 田中 あああ 3 20 01100 田中 あああ 2 30 01100 田中 あああ 1 40 01200 佐藤 あああ 4 01200 佐藤 あああ 3 01200 佐藤 あああ 2 30 01200 佐藤 あああ 1 40 この場合、取得したいのは 職員番号01000の人は点数40の行、01100の人は点数10の行、01200の人は点数30の行の 合計3行です。

  • SQLの質問です。

    下記のようなテーブルで、 レベル4以下で点数が入力されているMAXの行を持ってくるにはどうしたらよいでしょうか?よろしくお願いいたします。 職員番号 氏名 レベル 点数 01000 山田 花子 4 01000 山田 花子 3 40 01000 山田 花子 2 30 01000 山田 花子 1 20 01100 田中 あああ 4 10 01100 田中 あああ 3 20 01100 田中 あああ 2 30 01100 田中 あああ 1 40 01200 佐藤 あああ 4 01200 佐藤 あああ 3 01200 佐藤 あああ 2 30 01200 佐藤 あああ 1 40 この場合欲しい結果は 職員番号01000の人は点数40点の行、01100の人は点数10点の行、01200の人は点数30点の行  3行を表示したいです。

  • excelで1人ずつ行の高い点数だけ抜きだしたい。

    excelで1人ずつ行の高い点数だけ抜きだすことはできますか。 例) A 列 B列 <=をつけている行が取り出したい行 田中  100 <= 田中  70 佐藤  80 <= 佐藤  70 佐藤  65  ;  ; 宜しくお願いします。

  • Excelで頭数を算出する関数?

    こんにちは。 C列3行目から20行目に氏名があり、D列には個数があります。氏名欄には同一人物も載っているので、メンバーの人数を知るにはどの関数がありますか。 例えば3行目から6行目まではメンバーが3人という結果が出るようにしたいのです。 3 山田太郎 3個 4 佐藤花子 5個 5 田中次郎 6個 6 山田太郎 2個 メンバーは相当の数なので誰が何個売ったかは問題にしません。 宜しくお願いします。

  • エクセルにて「期間指定」で「データ集計」する方法

    エクセルで営業商談用顧客管理を行っています。 シート1には、商談日を下記のように記載しており A列 B列 日付 担当 1/1  山田 1/6  田中 1/8  佐藤 2/3  山田 2/4  山田 2/6  佐藤 2/9  田中 3/1  佐藤 3/2  山田 3/5  佐藤 別シートにて、例えば1月にどの担当が何件商談をしたか、を 下記のように管理したいのですが 山田 ○件 田中 ○件 佐藤 ○件 こちらの関数の指定方法について、ご教授いただけないでしょうか? よろしくお願いします

  • (エクセル)日付に相当するデータを入力する

    シート1に以下のように、A列には氏名、C列に日付がランダムに入力されています。   A   B   C 1 山田     4/4 3:00 2 佐藤     4/3 2:00 3 石井     4/4 3:00 4 加藤     4/3 2:00 5 田中     4/1 5:00 シート2に上から順位に並び替えたいです   A   B   C   D   E   F   G 1          4/1    4/2    4/3   4/4   4/5 2  1   田中 4/1 5:00 3  2   佐藤         4/3 2:00 4  3   加藤         4/3 2:00 5  4   山田             4/4 3:00 6  5   石井             4/4 3:00 1行目のC~Gには既に4/1~4/5が入力されています。 対応するところに日付を入力し、さらにB列には氏名を表示したいです。 C2には「=IF(AND(SMALL(Sheet1!$C$1:$C$5,$A2)<D$1,SMALL(Sheet1!$C$1:$C$5,$A2)>=C$1),SMALL(Sheet1!$C$1:$C$5,$A2),"")」としてうまくいきました(C1:F6も同様)。 問題はB列なのですが、B2に「=INDEX(Sheet1!$A$1:$A$5,MATCH(SUM(C2:G2),Sheet1!$C$1:$C$5,0))」や「=INDEX(Sheet1!$A$1:$A$5,MATCH(SMALL(Sheet1!$C$1:$C$5,A2),Sheet1!$C$1:$C$5,0))」としても同じ失敗結果になりました。 両方とも、上から順に 田中 佐藤 佐藤 ←失敗(加藤が正解) 山田 山田 ←失敗(石井が正解) となってしまい、重複する日付が失敗してしまいます。 B列にどのようにしたら良いか教えてください。 よろしくお願いします。

  • Excel(2010)で氏名の頻度の求め方

    Excel(2010)で、A列に縦に 山田 鈴木 田中 山田 鈴木 山田 というように氏名の並べてある表があるとします。この表で氏名の頻度が 山田 3 鈴木 2 田中 1 というように表示できる関数または方法があるでしょうか。 この表のように項目が少なければ 山田 鈴木 田中 というセルを作っておいて、VLOOKUP関数で求められますが、実際には約500行ありその中の氏名をすべて手作業で入力するのは大変ですので、重複なくすべての氏名を抜き出すのは実際的ではありません。 以上よろしくお願いします。

  • excelのソートと取り出し

    excelで複数をソートして高い点数だけ抜きだすことはできますか。 例) A 列 B列 <=をつけている行が取り出したい行 田中  70 佐藤  90  <= 田中  100 <= 佐藤  70  ;  ; 宜しくお願いします。

  • excelVBA 項目ごとに連番をふりたい

    よろしくお願いします。 excelで連番を振りたいのですが、隣のセルに並んでいる 項目ごとに振りたいのです。VBAでできるでしょうか? 番号を振りたいのはB列で、名前ごとに1から順番に番号を 振りたいです。名前が変わるとまた1に戻って、振っていき、 A列がなくなると終了です。 A列の名前の数や、それぞれのデータ数、 全体のデータ数などは、ばらばらです。 もしかしたら列数はかわるかも知れませんが、 隣の列の項目ごとに番号を1から振る、ということは 変わりません。 (A列) (B列)  山田    1  山田    2  山田    3  田中    1  田中    2  田中    3  田中    4  佐藤    1  佐藤    2  加藤    1  斎藤    1  斎藤    2  斎藤    3  斎藤    4  斎藤    5   ・    ・   ・    ・   ・    ・ 今は目で見ながら毎日、オートフィルタでがんばっています。 これができるとすごくうれしいです。 よろしくお願いいたします。

  • アクセス関数を使って、重複チェック

    アクセス2003を使っています。 ある講座の受講者のデータが入っているデータベースを作ろうと考えています。 その講座には受講者が実際に重複して受講する人がいます。 重複して受講しているかどうかを、「選択クエリ上の関数」を使って調べたいです。 具体的には  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 山田次郎 2009/3 佐藤一郎 2009/4 というデータベースがあり、佐藤一郎が重複しています。(受講月は重複していません) これをクエリを使って、  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 重複 山田次郎 2009/3 佐藤一郎 2009/4 重複 というクエリを作りたいです。 どうすれば良いでしょうか?