エクセルでデータ管理の方法とは?

このQ&Aのポイント
  • エクセル(2003)のデータ管理について教えてください。
  • エクセルでデータ管理方法について質問です。出典別の単語帳を作成する方法を教えてください。
  • エクセル(2003)のデータ管理方法について教えてください。出典別の単語帳を作成する方法について教えていただけますか?
回答を見る
  • ベストアンサー

エクセルでデータ管理

こんにちは いつもお世話になっています エクセル(2003)のデータ管理について教えてください。 以下のような英語単語帳データ(文字列)がA列にあります。   A 1 出典A 2 単語 3 出典A 4 単語 5 出典B 6 単語 7 出典A 8 単語 9 出典C 10単語 (以降2000行以上あります。) 出典とは、その下の単語の出典になります。つまりA1とA2はセットになっており、以下、同じ仕様です。出典は数十種類あり、出現順序は不定です。単語は同じ出典、あるいは異なる出典で重複して出現することがあります。 ここで、質問ですが、上記のデータから出典別の単語帳をつくる方法を教えてください。 つまり、出典Aの単語、出典Bの単語というように抽出したいのです。重複データが並んでもかまいません。 素人考えでは、A2の単語をB1に引いくる関数で、出典と単語を横並びにしてから、A列にソートをかければいいかと思うのですが、その関数もわからないし、もっとスマートにできるのでしょうか。 わかりにくい表現で恐縮です。 どうぞよろしくお願いいたします。

  • 5goma
  • お礼率82% (265/321)

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

任意のセルに =INDIRECT("A"&ROW(A1)*2-1) その右隣のセルに =INDIRECT("A"&ROW(A1)*2) と入力して、この2つのセルを下方向にコピー&ペースト (式の結果が0になるまで。ブランクに対しては0を返すので) この式が入っているセル範囲全体をコピーして 形式を選択して貼り付けで「値」を選択 以上でどうでしょうか。

5goma
質問者

お礼

don9don9 様 ありがとうございました。お蔭様で解決しました。 手間が省かれてとても便利です。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。

その他の回答 (7)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.8

2000行以上となりますと作業列を作って対応するのがよいでしょう。 A列の2行目から下方にデータが入力されているとしてB2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(MOD(ROW(A1),2)=1,"",A1&"/"&COUNTIF(A$1:A1,A1))) C1セル、D1セル、E1セル・・には出典の文字列を入力します。 そこでC2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ISERROR(INDEX($A:$A,MATCH(C$1&"/"&ROW(A1),$B:$B,0))),"",INDEX($A:$A,MATCH(C$1&"/"&ROW(A1),$B:$B,0)))

5goma
質問者

お礼

KURUMITO 様 ありがとうございました。お蔭様で解決しました。 とても便利で、手間が省けました。 特定の出典だけを出力する時にも効率的です。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.7

前述コメントに一部誤りあり。 A1からA2000まで範囲選択して B2に貼付けたら、偶数行は単語に対しての出典。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.6

簡単な参照式だけで出来ますが,ただし若干工夫は要ります。 いまシート名Sheet1のA1からそういったデータが並んでいるとすると C1セルに =Sheet1!A1 と記入します D1セルに =Sheet1!A2 と記入します C1:D1(工夫代としてはC1:D2)を下向けA列下端まで,つるつるっとコピーします C列昇順でCD列を並べ替え,必要に応じて各出典ごとにまとまったデータを横に並べて移動します。 #回答1の方法でも良さそうに見えますが,実際に操作してみると 「A列で並べ替える『前』に」B列だけコピーしその場で型式を選んで貼り付けて値にしておかないと 上手く行かないことが判ります。 そこだけ直せばご質問で当初考えていた方法通り,これが一番簡単です。 #「スマート」のイミが,理解出来なくても何か難しそうな数式がつかえるとカッコイーだった場合は,配列数式などバンバン難しい式はいくらでもありますのでそちらで。

5goma
質問者

お礼

keithin 様 ありがとうございました。お蔭様で解決しました。 回答1へのご指摘、助かりました。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

考え方はそうでしょうが、 数式や関数なのか? A2からA2000範囲を選んでB1に貼付け。 奇数行では出典に対しての単語、 偶数行では単語に対しての出典、 となる。 C列上から1,2,1,2,1,2としてこれら区別しても良い。 これくらいは考えてみたか。これでどのくらいダメなのか明確に。 スマートとは?。

5goma
質問者

お礼

layy 様 ありがとうございました。お蔭様で解決しました。 仰るとおりです。もうちょっと考えてみるべきでした。 「スマート」は「初心者でも使える手軽さ」ぐらいのつもりでしたが、あやふやな言葉でした。 以後気をつけます。

noname#204879
noname#204879
回答No.4

添付図参照 B2: {=IF(ISERROR(SMALL(IF($A$1:$A$3000=B$1,ROW($A$1:$A$3000)),ROW(A1))),"",INDEX($A$1:$A$3000,SMALL(IF($A$1:$A$3000=B$1,ROW($A$1:$A$3000),""),ROW(A1))+1)&"")} 注:これは配列数式です。

5goma
質問者

お礼

mike_g 様 ありがとうございました。 配列数式を教えていただき助かりました。 勉強させていただきます。 簡単で恐縮ですが、お礼申し上げます。

  • mzon
  • ベストアンサー率48% (26/54)
回答No.2

スマートではないですが、下記手順で処理可能だとは思います。 (バックアップはとってから作業してくだいさね) 1.B1に『IF(MOD(ROW(),2)<>0,A1,0)』と入力します。 2.C1に『IF(MOD(ROW(),2)<>0,A2,0)』と入力します。 3.B1,とC1とそれぞれ最後の行までコピーします。(ドラッグしてください)  ※この時点で「出典」の横(Bに出典、Cに単語)となります。 4.B,Cの列を選択しコピーします。(選択後、右クリックコピーでOKです) 5.B,C列上で右クリックし『書式を選択して貼り付け』を選択します。 6.貼り付けの『値』を選択し『OK』を押します。 7.『Esc』を押します。(選択状態を解除するためですので、他の方法でもいいです。) 8.B列を選択します。 9.『編集(E)』⇒『ジャンプ(G)』を選択します。 10.『セルの選択』を押します。 11.『定数(O)』を選択し、『数値(U)』のみチェックし、『OK』を押します。  ※この時点で出典以外のセルが選択されている状態になります。 12.選択中のセル上で右クリックします。(選択が解除されてしまった場合は8からやり直してください。) 13.『削除(D)』を選択します。 14.『行全体(R)』を選択し、『OK』を押します。 15.A列を削除します。  ※この時点で必要な情報のみになります。 16.A,Bの列を選択します。 17.『データ(D)』⇒『並べ替え(S)』を選択します。 18.優先されるキーを列Aにして『OK』を選択します。 19.保存します。 以上、手間はかかりますが上記で対応可能です。

5goma
質問者

お礼

mzon 様 ありがとうございました。お蔭様で解決しました。 丁寧に教えていただき助かりました。 初心者のため手軽でわかりやすいのが一番です。 大切に使わせていただきます。 簡単で恐縮ですが、お礼申し上げます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 (1)B1に=A2を入力、B1:B2を選択して右枠したのフィルボタン(■)をダブルクリック (2)A列で並び替え、B列を選択してコピー→右クリックで形式を選択して貼り付け→値を選択→OK (3)A列の単語行を削除

5goma
質問者

お礼

mu2011 様 ありがとうございました。お蔭様で解決しました。 keithin 様のご指摘を参考にさせていただきました。 簡単で恐縮ですが、お礼申し上げます。

関連するQ&A

  • 重複データの抽出

    重複した数字のデータを抽出してまとめたいのですが教えていただけないでしょうか? 例えば A列    B列   1245     1365     1245 1398 1365 1155 1245 この表を      A列    B列   1245    1245 1365    1365 1245    1398 1398    1155 1365 1155 1245 のようにまとめたい A列の重複したデータを抽出しB列にまとめたいのですが、なるべく関数でやりたいのですが、良い方法をお願いいたします。

  • 重複するデータの抽出について(エクセル)

    エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば   A列   B列   C列    D列    E列・・・ 1  色  1回目  2回目  3回目   4回目 2  赤   あ    a      A       0 3  白   い    b      B       1 4  黄   う    c      C       2 5  黄   え    d      D       3 6  黒   お    e      E       4 7  赤   か    f      F       5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。

  • エクセル 重複項目の削除

    過去分を調べましたが、数字の場合しか見つかりませんでした。 A列に A001 B002 A001 A002 B001 A002 と言う具合に文字列が入っています。 これを、関数を使って重複をなくし、 A001 A002 B001 B002 と別列に抽出したいです。 可能でしょうか。ソートは、されなくてもOKです。

  • 「エクセル」で重複したデータだけを呼び出したい。

    「Excel2000」を使用しています。 「重複しているデータだけ抽出する」 ということは出来るでしょうか? たとえば「A列」に名前が入っていて、 「B列」に住所、「C列」に電話番号が 入っているとします。 重複した名前だけを呼び出して、 なおかつ「B列」「C列」の データも表示させたいのですが…。

  • エクセルVBAで重複データの削除

    A列、B列、C列・・・とデータが入っていて、B~D列の5行目から10行目が関連の有るデータのかたまりとします。 C~D列の全てのデータが重複している場合に、最初のほうのデータ(行番号が小さいほう)を残すものとして、重複データを削除したいのです。 削除するときは、 B~Dの範囲で削除する。A列等は削除しない。 削除したらデータは上に詰める。 データはソートしない。 ということをやりたいのですが、簡単に出来ますでしょうか? 良く覚えていないのですが、ネット上で色々探してみても、必ずソートしている気がしたので、ソートしない方法が知りたいのですが。

  • エクセルデータの紐付について

    エクセル データの紐付けについて あるデータを参照して、重複しているデータを抽出したいのです。 <例> (1)赤く記しているA列の読みが元のデータとします。 (2)黄色で示しているD列の読みと重複しているデータを探します。 (3)最終的に、黄色で示しているように表示します。 どのような関数を使えばできるのでしょうか? よろしくお願いいたします。

  • Excelでのデータの並び替え

    Excelで以下のようにデータの並び替えを行いたいのですが どのような関数や手順で行えばいいのでしょうか。 A  B           A   B  C  D 001 a           001  a  b 001 b       →   002  a  b  c 002 a       →   003  a 002 b       →   004  a  b 002 c       →   . 003 a           . 004 a           . 004 b           . .               . . . 上記のような感じで、A列の重複を省きB列のデータを1列ごとに表示したいのです。 宜しくお願いいたします。

  • エクセル関数について教えてください。下記のように(分かりにくかったらす

    エクセル関数について教えてください。下記のように(分かりにくかったらすいません)A列(アルファベット)とB列(数字)にデータがあります。B列にソートをかけ同じ値のものを揃えた状態で、B2~B5が同じもので、なおかつA2~A5も同じデータのものをC列に抽出したいのですが、エクセルが分かりません。C列に抽出するのは「あり」でも「○」でも分かればいいです。 エクセル関数は初心者なので、分かりやすく簡単にご回答していただけますようお願いしjます。。。 1 A列 B列 C列 2 abc 123 あり 3 def 123 4 edf 123 5 abc 123 あり 6 ghi 789 あり 7 ghi 789 あり 8 ghe 789

  • excelでのデータの抽出

    excelの関数について質問です。 まず、以下のような元となるデータ(文字列)があると仮定します。 (上から順番に) 1 1 2 5 5 5 3 3 3 このデータから、重複するものを除いて 1 2 5 3 のように別のシートに抽出したいと思っていますが、どのような関数を使用すればよいのか分かりません。 なお、元になるデータの個数は約6000件です。

  • Excelでの複数データ抽出方法

    Excelで関数を使用して以下のようなデータから 複数のデータ抽出を行いたいのですが可能でしょうか? <sheet1> A列 B列 C列 D列     E列 123456 11 12 13    13 123457 12 13 14    13、14 123158 13 14 15    13,14 123159 14 15 16    14  123160 15 16 17 ※抽出するデータは「13・14」になり、抽出場所は別シートでもかまいません。 過去の質問など参照してみましたがうまく出来ませんでした。 複数の関数を組み合わせでもかまいませんので、お手数おかけしますが よい方法が有ればご教示お願いします。

専門家に質問してみよう