エクセルEXCELデータの数値を属性ごとに合計・整理する方法

このQ&Aのポイント
  • エクセルEXCELのデータの数値を同じ属性ごとに合計・整理する方法を紹介します。データ統計解析の研究を行っている方に役立つ情報です。
  • エクセルとRを使用して、約10万行のデータをIDと属性ごとに整理し、面積を合計した新しいデータを作成する方法を解説します。
  • エクセルとRを使って、IDと属性ごとにデータを整理し、面積を合計した新しいデータを作成する方法をご紹介します。ACCESSなどは使用せずに解決できます。
回答を見る
  • ベストアンサー

エクセルEXCELのデータの数値(10万行)を同じ属性ごとに合計・整理したい。

カテゴリを誤ってしまったので再度投稿させていただきます。 データ統計解析の研究を行っています。 .xlsファイルで、 ID,属性A,属性B,…,属性H,面積P,面積Q α,a1,b1,…,h1,面積p1,面積q1 α,a1,b1,…,h1,面積p2,面積q2 β,a2,b2,…,h2,面積p3,面積q3 β,a2,b2,…,h2,面積p4,面積q4 β,a2,b2,…,h2,面積p5,面積q5 γ,a3,b3,…,h3,面積p6,面積q6 … のようなデータがあります。行は約10万です。 このデータをID,属性ごとに整理し、面積は合計した新しいデータを作りたいと考えております。 ID,属性A,属性B,…,属性H,面積Psum,面積Qsum α,a1,b1,…,h1,面積(p1+p2),面積(q1+q2) β,a2,b2,…,h2,面積(p3+p4+p5),面積(q3+q4+q5) γ,a3,b3,…,h3,面積p6,面積q6 … こんな具合です。 しかしこのデータ処理の仕方がわからなくて困っています。 どなたか教えていただけると助かります。 ちなみに、使えるソフトウェアは、エクセルとRです。 SPSSなどは使うことができません。 ACCESSも1カ月くらいで使えるとのことですが、できればこの2つで解決したいと考えております。 どうぞよろしくお願いいたします。m(__)m

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

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

Excel の 配列数式 の利用を考えてみてはいかがですか? 例えば、ID が A列、面積p が J列、面積q が K列に入力されているとする。  ※配列数式ですので、数式を入力後の確定の際、『Ctrl』と『Shift』キーを押しながら、『Enter』を入力する。 ID:α の面積p =SUM(IF(A1:A100000="α",J1:J100000,0)) ID:α の面積q =SUM(IF(A1:A100000="α",K1:K100000,0)) ID:β の面積p =SUM(IF(A1:A100000="β",J1:J100000,0)) ID:α の面積q =SUM(IF(A1:A100000="β",K1:K100000,0))  参考 http://pc.nikkeibp.co.jp/pc21/special/hr/hr1.shtml

lukkysan1
質問者

お礼

配列数列は残念ながら使えませんでしたが、SUMIF文、IF文、データ→重複の削除を利用し、無事完了することができました。 良いアドバイスありがとうございました。

関連するQ&A

  • jQueryのカスタムデータ属性追加について

    いつもこちらでお世話になっています。 jQueryでカスタムデータ属性(data-*)を新規追加するにはどう記述すれば良いのでしょうか。 html側にはカスタムデータ属性が未設定の状態です。 以下の方法で試してみましたが、カスタムデータ属性を取得すると「NaN」となっています。 【html】  <div id='hoge'>hogehoge< /> 【jQuery】  $(#hoge).attr({ 'data-a': 'A', 'data-b': 'B' }); よろしくお願いいたします。

  • 傾向スコアの求め方

    統計初心者です。 今回、ある治療を行った人と行わなかった人で個々の因子の相違を検討したいと考えており傾向スコアで解析するよう指示を受けました。 患者ID 治療A      年齢  score1  病気A  病気B  病気C  001   行った      75    300    +     -    - 002   行わなかった  73    780    -     -    -  ・  ・ というようなデータがあり(約1600件)、患者ごとの傾向スコアを求めたいと思っております。 統計初心者なのでソフト(Dr.spss)を利用したかったのですが私が使っているSPSSのバージョンでは傾向スコアを出すことはできないようです。 SPSSを使って何かと何かの解析を組み合わせれば計算できるものなのか、あるいは傾向スコアを出す計算方法があるのでしょうか。 お手数おかけしますがどなたかわかる方がいらっしゃいましたら教えていただけませんでしょうか。 よろしくお願いいたします。

  • 行・列の整理! perl

    perlでデータを並び替えて整理したいです。 【元データ】 A a b A c d A e f A g h B i j B k l B m n C o p C q r C s t C u v ・ ・ ・ 上記のデータを下記のように並び替えしたいのですが上手くできずに困っています。 どのような記述をすれば良いのでしょうか。間の空白はタブ区切りです。 【目標】 A a b c d e f g h B i j k l m n C o p q r s t u v D ・ 現在、元データから A B C D ・ ・ というデータを作り、元データと比較していますが上手くいきません。 for($i=0; $i<@key; $i++){ print OUT "$key[$i]"; for($j=0; $j<@data; $j++){ if($key[$i] =~ /$data[$j]/){    #部分一致 print OUT "$'"; } } print OUT "\n"; } 部分一致の行を正規表現を用いて上手く処理したいのですがやり方がわからず躓いています。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • エクセル 横1行を別のブックへコピーしたい

    上の"ca"のファイルは、データをそのまま落とした物で、一切手を加えないことを前提とします。 下の"1"ファイルに必要な部分だけを取り出したかったので Aの部分には =ca.xls!$A$6 =ca.xls!$A$7 =ca.xls!$A$8 =ca.xls!$A$9 =ca.xls!$A$10と永遠に100くらいまで書きました。 Cの部分には管理Noがほしかったので =ca.xls!$H$6 =ca.xls!$H$7 =ca.xls!$H$8 =ca.xls!$H$9 =ca.xls!$H$10 と必要な部分だけをこんな感じでひたすらとりあげたものが 下の"1"ファイルになります。 しかし宛先・住所・電話番号等だけは上のD6とI6とP6から、書かれています。 これをできれば 下の"1"ファイルのBセル欄にもっていきたいのです。 しかし、現在Bのセルにはすべて =ca.xls!$D$6 =ca.xls!$D$7 =ca.xls!$D$8 =ca.xls!$D$9 と100までつながっています。 ゆえに、ca.xlsのD欄で文字が書かれている以外のところは「0」と表示されます ちなみに、「0」の場合は、白文字にしてあるので、見えません。 できれば下のファイルに 宛先(D6) 住所(I6) 電話番号(P6) といったようにしたいです。 D6からP6までの情報を一気に、下のB欄に表示できる方法でもかまいません。 もしくは、縦のセルを増やす方法でもかまいません。 ここで問題がひとつあります。 一番上の住所が始まるのは必ず6行目からになりますが 2箇所目の住所の始まりは必ずしも、10行目とは限りません。 そのつど数が変わるため、ピンクの部分の数が変動しますが 必ず、納入コードの横に、表示させたいと思っています。

  • エクセル2007の別シートから複雑なデータ結合

     はじめまして。エクセル初心者です。どうしても分からない事があり、 ご助言いただけますと幸いです。 ○エクセル2007の2つのシートのデータを結合したい。 ○シートA ID       属性1   属性2   属性3   属性4 20DH135   165     0      あ     2500 A865MK78  36987    1      い     362 200045SP698 1870    0      い     1569 187AX1456   25     0      う     3939 3C00458796  165     1     い     4649 19V80L2    1870    0     い      213 63DW25A875  1870   1     あ      87900  IDは全て異なりますが、それぞれの属性は別IDでも同じ ものとなることがあります。文字だったり数字だったりその 組み合わせだったりします。 ○シートB 属性1  属性1A  属性1B 25    ABC    1 165   AN     0 1870   CVG    1 2658   ALO    1 13269  VBF    0 36987  TYH    1  シートAの2行目の属性1に対応する、さらにその属性リストです。 属性1A、属性1Bにおける変数は属性1の内容が別でも、同一と なる場合もあります。  シートAの属性(行)は1から10程度までありますが、今回 結合したいのは属性1が同一内容のシートBの内容です。  ここから・・・・・・  シートAの属性1に対応するシートBの同一の属性1部分を 結合して、下記の新しいシートを得たく思います。 ○結合シート ID       属性1   属性1A   属性1B  属性2  属性3  属性4 20DH135    165    AN      0      0    あ    2500 A865MK78   36987  TYH      1      1    い    362 200045SP698 1870   CVG     1      0    い    1569 187AX1456    25   ABC     1      0    う    3939 3C00458796  165    AN      0      1    い    4649 19V80L2    1870   CVG     1      0    い    213 63DW25A875  1870  CVG     1       1   あ    87900  IDの種類は約40000列、属性1の種類は約3000列あるのですが、昨夜から ずっとコピーペーストし、すでに24時間近くたってまだ1000のID分しか処理で きません。このままだと時間を無駄に使うことに今頃気付きまして、困って おります。  大変申し訳ございませんが、上記処理方法につきましてご教示いただけますと 幸いです。当方、アクセスなどのデータベースソフトは使用できません。エクセル ですら初心者です。なにとぞよろしくお願い申し上げます。  P.S. こういった処理はマイクロソフト社のオンラインヘルプにも掲載されて いないのですが、短期集中講座などで教えているパソコン教室で良い所があ りましたら併せてご教示願います。

  • エクセルのデータ抽出について・・・

    はじめまして。 みなさまのお力が借りたく、質問いたします。 わかりずらい質問だとは思いますが、宜しくお願い致します。 例として、エクセルのファイルが2個あるとします。 A.xls B.xls とします。 AにはIDを入力するシートが1枚 BにはそのIDの人の名前・住所・生年月日などを規則性無く入れてあるシートが7枚程あるとします。 AのID列に「10」といれると Bの全7枚のシートの中から該当する人のデータを抜き出し、 Aの所定のセルに表示する。といった事は可能でしょうか? VLOOKUP関数を使ってみたのですが、検索するシートを1枚じゃないとダメみたいで・・・ シートを複数指定するとエラーになってしまいます。 問題は、抜き出したい「ID 10」が7枚のシートの中の何枚目にあるかがわからないのです。 ちなみに、該当する「ID 10」があるシートには必ず名前、住所、生年月日も同じ列に付随して存在します! このようなことは不可能なのでしょうか? もし可能ならばどうしたらいいか教えてください! 宜しくお願い致します。

  • エクセルのデータ検索について・・・

    はじめまして。 みなさまのお力が借りたく、質問いたします。 わかりずらい質問だとは思いますが、宜しくお願い致します。 例として、エクセルのファイルが2個あるとします。 A.xls B.xls とします。 AにはIDを入力するシートが1枚 BにはそのIDの人の名前・住所・生年月日などを規則性無く入れてあるシートが7枚程あるとします。 AのID列に「10」といれると Bの全7枚のシートの中から該当する人のデータを抜き出し、 Aの所定のセルに表示する。といった事は可能でしょうか? VLOOKUP関数を使ってみたのですが、検索するシートを1枚じゃないとダメみたいで・・・ シートを複数指定するとエラーになってしまいます。 問題は、抜き出したい「ID 10」が7枚のシートの中の何枚目にあるかがわからないのです。 ちなみに、該当する「ID 10」があるシートには必ず名前、住所、生年月日も同じ列に付随して存在します! このようなことは不可能なのでしょうか? もし可能ならばどうしたらいいか教えてください! 宜しくお願い致します。

  • Excelの2個の条件に合致した数値を入力

    B.xlsのA列とA.xlsのB列、B.xlsのC列とA.xlsのD列の行がマッチしたらA.xlsのF列、H列の数値をB.xlsのD,E列に添付の下図のように数値を入力したいのですがVBAコードが解る方宜しくお願いします。(同じく関数の方もわかればお願いします)

  • Excelにて外部Excelファイルのデータを参照する方法

    お世話になります。 Excelにて外部のExcelファイルのデータを参照する方法を教えていただけませんでしょうか。 具体的には、 1.Excelファイルa.xls b.xls c.xls・・・ があります。 2.a.xlsの a1 に b.xls の a1 の値を入力し、続けて a.xls の a2 に c.xls のa1・・・を繰り返していきます。上手く説明できないので、下を参照願います。 ------------------------------------------------ <a.xls> |a |b |c -+------- 1|a1|b1|c1 ←b.xls ないのa1-c1のデータ 2|a1|b1|c1 ←c.xls ないのa1-c1のデータ 3|a1|b1|c1 ←d.xls ないのa1-c1のデータ ------------------------------------------------ 上記を数百のファイル分行いたいのですが、外部ファイルを開いて該当のセルをコピーしていると非常に時間がかかります(といいますか無理でしょう)そこで、これらを数式から指定して、セルにコピーする事により、作業を効率化したいというわけです。 そのような方法がございましたら、教えていただけませんでしょうか。 よろしくお願い致します。

  • コンジョイント分析

    コンジョイント分析について教えて下さい。 統計ツール(SPSS ConjointやSASなど)を使ってコンジョイント分析を実施し、結果を得ることはできるのですが、では実際統計ツールでどのような解析をしているのかを知りたいと思っています。 多属性態度モデル(A=ΣPI)の逆のアプローチでA(Attitude)からI(属性の重要度)を導き出すというモデルのようですが、具体的な導き出し方が判りません。 統計ツールごとに違いはあるでしょうが、 一般的なコンジョイント分析のモデルに関してご存知の方がいましたら、ご教示下さいますようお願いいたします。(簡単な具体例があると非常に助かります。)

専門家に質問してみよう