• ベストアンサー

エクセル:ランダムパターンをそれぞれ集計する方法

下記のように、「あいうえ・・・」行それぞれに、「0」と「1」がランダムで続いています。 ただし、「い(0110000)」と「え(0110000)」のように、たまにまったく同じパターンもあります。 そういった組み合わせが複数あると予想されます。 同じ組み合わせがある場合、それを見つけてその組み合わせが、それぞれいくつあるかを集計したいのですが、どのように計算すればよろしいでしょうか?  エクセル初心者のため、いろいろ勉強しているところですが、参考書などを探してもこういう集計方法(ランダムパターンの中から同じものを見つけ、それがいくつあるかを計測する)を見つけられませんでした。詳しいかたどうかご指導のほどよろしくお願いいたします。  A B C D E F G ・・・・・・M あ0 0 1 0 0 1 0 ・・・・・・1 い0 1 1 0 0 0 0 ・・・・・・0 う0 0 0 1 0 1 0 ・・・・・・1 え0 1 1 0 0 0 0 ・・・・・・0 お0 1 1 1 0 1 0 ・・・・・・1 ・ ・ ・ ・ ・ ・ ・ ・ ・・・・・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・・・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・・・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・・・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・・・・・

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

簡単のために、Fig-1 のようなデータを考えます。 セル F2 には式 =B2&C2&D2&E2 を入力して、此れを下方にズズーッとドラッグ&ペーストしています。 Fig-1    A   B   C   D   E   F 1  ITEM JDG1 JDG2 JDG3 JDG4 DAT 2  か    0   0   1   1 0011 3  き    0   1   1   0 0110 4  く    1   1   0   1 1101 5  け    0   1   1   1 0111 6  こ    1   1   0   1 1101 7  さ    1   1   0   1 1101 8  し    0   0   1   0 0010 9  す    0   0   1   0 0010 10 せ    1   0   1   1 1011 11 そ    0   0   0   1 0001 12 た    1   1   0   1 1101 13 ち    1   1   0   1 1101 14 つ    1   0   1   0 1010 15 て    1   0   1   0 1010 16 と    1   1   1   0 1110 1.範囲 A1:F16 を指定して、[データ]→[ピボットテーブルとピボッ   トグラフレポート]→[次へ]→[次へ]を実行 2.“新規ワークシート”あるいは“既存のワークシート”の何れかに   目玉を入れて[完了]をクリック     →ピボットテーブル(以降、ピボテ)のフォーマットが表示 3.「行フィールド」枠内に「DAT」をドラッグ&ドロップ 4.「行フィールド」枠内の右側に「ITEM」をドラッグ&ドロップ 5.「データアイテム」枠内に「DAT」をドラッグ&ドロップ 6.ピボテの[DATA]のセルを右クリックして[フィールドの設定]を選択 7.“なし”に目玉を入れて[OK]をクリック すると、Fig-2 が得られます。 Fig-2 データの個数/DAT DAT      ▼ ITEM▼ 合計 0001       つ     1 0010       と     1 0011       く     1          き     1 0110       す     1 1000       か     1 1001       ち     1          そ     1 1100       け     1 1110       た     1          こ     1 1101       て     1          さ     1          し     1 1111       せ     1 総計            15 Fig-2 において、0011、1001、1110、1101 と表示されているセルをダブルクリックすると Fig-3 に変化します。 Fig-3 データの個数/DAT DAT      ▼ ITEM▼ 合計 0001       つ     1 0010       と     1 0011             2 0110       す     1 1000       か     1 1001             2 1100       け     1 1110             2 1101             3 1111       せ     1 総計            15

guard9
質問者

お礼

mike_gさま、丁寧なご説明、ありがとうございます!!!!! 完璧にできました。正直これほど簡単にできるとは思っていなかったので、感激しています。ありがとうございました。

その他の回答 (2)

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.2

ただ単純に2つ行を比較するだけならいくらでも方法がありますが集計をとるなら行全体を2進数と捉えてN列に10進数として出してあげるのはいかがでしょうか? たとえばあ行の上に0行があったとして、  A B C D E F G ・・・・・・M N 01 2 4 8 16 32 64 ・・・・・・ あ0 0 1 0 0 1 0 ・・・・・・1 として(あ,N)に数式 =sumproduct($0A:$0M,あA:あM) としてあとは下へコピーしていきます。行番号や列番号の前に$を付けるとコピーしても固定されたまま変わりません。 あとはN列をcountif関数などでいかようにも料理できるでしょう。

guard9
質問者

お礼

CMLTさま お教えいただきありがとうございます。 このような考え方もあるのですね。以後、参考にさせていただきます。

  • SePapa
  • ベストアンサー率50% (47/94)
回答No.1

こんにちは 方法はいろいろありますが、その一例として 回答します。 考え方としては、まずは全文字(1とか0)を連結した文字を作成し、 その文字をピポットテーブルの機能で集計します。 手順 1)N列に以下のような数式をいれて A列からM列の文字列を連結します。 =A1 & B1 & C1 & ・・・・ & M1 これを全行のN列にコピーします。 2)その後で1行目に空白行を1行いれ、 N1のセルに適当なタイトルを入力します。 (”データ”とか) 3)N行のみを選択した状態で ピポットテーブルを起動します。 (Excel2007であれば挿入タブ内にボタンがあります。 2003であればツールメニューの”ピポットテーブルとグラフレポート”を選択します) 4)ピポットテーブル作成画面で何も変更せずに OK(Excel2003であれば完了)ボタンを押します。 5)表示された一覧にてフィールドリストの「データ」を 行と値の両方のフィールドにドラッグしてください。 以上で同じ文字列の数が簡単に表示できます。 一度お試しください。

guard9
質問者

お礼

SePapaさま お教えいただき感謝申し上げます。 この方法でも、したかった計算ができました。ピポットテーブルってすごいですね。ありがとうございました。

関連するQ&A

  • EXCEL(エクセル)の集計方法について。

    EXCEL(エクセル)の集計方法について。 仕事が進まず、大変困っています。 列A~Zまでに複数の項目があります。 ピボットを使い、表を作ります。 縦にA~Cの項目「名称」、「型式」、「単価」をとります。 横にD~Eの項目、「受注番号」、「項」をとります。 そして、Fの項目「個数」の集計をします。 しかし横が入り切れませんでした。 「受注番号」、「項」を基準にデータを三つに分け、ピボットで作成しましたが、それでは縦の行がバラバラになってしまいます。 縦の行は全く同じものをそれぞれの表では使いたいのです。 そういう表は作れますか?なるべく関数は使いたくありません。(データが何千行とあるので重くなります) 初心者なので、説明が分かりづらく、申し訳ございません。 アドレスをお願いします。

  • エクセルで組み合わせの集計方法

    またお世話になります。 例えば下記のようなデータがあるとします。  |B|C|D|E| ---------------------- 1|a|b|c|e| ---------------------- 2|b|c|a|e| ---------------------- 3|a|e|f|g| ---------------------- 4|b|f|e|a| ----------------------      :      : (データは下へ追加されていきます) 上記のデータを行毎に調べて、各値と最も多い組み合わせを調べるにはどうしたらよいでしょうか? 例えば「a」と最も多く組み合わせているのは、「e」となります。 あた「b」と多く組み合わせているのは、「e」となります。 このように各入力値ごとに、最も多く組み合わせているものを抽出するにはどのようにしたら良いでしょうか。 実際には文字ではなく数字を入力しています。 私が考えている方法は、すべての文字に対しての組み合わせ表を作成して、そこから最も多いそれぞれの組み合わせを求めるということですが、これではかなりの量の組み合わせデータを作成しなければならないことになります。 もっと簡単にできる方法はないかと思い、こちらに質問させて頂きました。 とても難しいような気がしますが、アドバイスをよろしく御願いします。 (エクセル98を使用しております。)

  • エクセルでランダム表示

    今は『=INDEX( : ,COUNTA( : )*RAND()+1)』で、F9を押す毎に指定した列からランダムで値を持ってきてるんですけど 上記のを使ってE列の中からA列にランダムで表示して それと同時にA列に表示されたE列の値があるのと同じ行にあるF列の値をB列に表示させたいんですけど どのようにすれば良いんでしょうか? 例えば、F9で更新した後にランダムで、    A列     B列 [E列2行目][F列2行目] [E列8行目][F列8行目] [E列5行目][F列5行目] みたいな結果を出したいんです

  • エクセルの日にちごとのアンケート集計の関数について

    シート名(アンケート) A列:日付 (12/1 12/2 など) F列:分類 (電話 パソコン  など) シート名(合計) A13には 12/1と記入されており 13行は 12/1の分類の集計を入力致します。 14行は 12/2の分類の集計を入力致します。 その際、13行のE(E13)には12/1の 電話の集計     13行のF(F13)には12/1の パソコンの集計     14行のE(E14)には12/2の 電話の集計 を入力する場合、どのような関数を使えばよろしいのでしょうか。 よろしくお願いします。  アンケートと合計は 同じBOOKのエクセルの中にあります。 ご教示いただけますでしょうか。

  • エクセル2007 集計について

    エクセルである月の集計を複数のセルの合計を別のシートに出したいのですが、ある月とは、2007/1とか年月を打ち込み その行のセルを別シートに集計させます。 そういったデータベース的な使い方は、エクセル2007ではできますか?

  • エクセルで集計したいのですが・・・

    エクセルで以下のような集計をしたいのですが、教えていただけませんか? 行2以下の各行について、 行1のデータ(数値)と一致する数の合計をそれぞれの行について 集計したいのです。    A  B  C  D  E  一致数 行1 1  2  1  3  5   行2 2  3  2  3  5   2 行3 1  2  1  4  5   3 行4 4  2  1  3  4   3 行5 1  2  1  3  5   5 ・ ・ よろしくお願いします。

  • Excelでの集計その2

    以前、似た質問をしたものです。下記のケース を、Excel(Excel2000)で作れるでしょうか 次のようなデータが10000件ほどあります。 ------------- (A)--------------------------- 行 商品コード 品名 品番  数量   金額 1 10010005   A商品 A-005  5   1000 2 10010006   B商品 B-006  5   1050 3 10010006  B商品 B-006  6   1100 4 10010007   C商品 C-007  10   100 5 10010008   D商品 D-008   6   60 6 10010009   E商品 E-009   3   300 7 10010010   F商品 F-010  7   700 8 10010010   F商品 F-010   3   300 ------------- (B)--------------------------- 行 商品コード 品名 品番  数量   金額 1 10010005   A商品 A-005  5   1000 2 10010006   B商品 B-006  11   2150 3 10010007   C商品 C-007  10   100 4 10010008   D商品 D-008   6   60 5 10010009   E商品 E-009   3   300 6 10010010   F商品 F-010  10   1000 ------------------------------------------------- (A)のような商品コードが一部同じデータを商品コードをキーにして、数量、金額を集計して(B)のようにしたいのですが、Excelでどのようにしたら出来るでしょうか? よろしくお願いします。

  • エクセル 集計方法について

    エクセル(表計算)で  (1)数値データが乱雑に多く有る  (2)これを目的別に集計したい  (3)都度乱雑さが違うので一律に計算式は当てはまらない  の条件で 各セルに着色(瞬時に色つけは可能) これを 範囲指定で色別に集計したい。  可能かしら? 目的は集計手間を省きたいのです。  他に何か良い方法が有りましたら 重ねてご指導方 よろしくお願いします。  有識者様! 教えてくださいませ。

  • エクセルの関数の計算式について教えてください。お願いします。

    エクセルの関数の計算式について教えてください。お願いします。   A B C D E F G H I J 1 8 6 3 2 5 10 9 4 1 7 2 16   19       13 3 4 1 3 7 2 8 6 10 9 5 4 5 20 19 18 17 16 15 14 13 12 11 上のようなエクセルの表があります。1の行にランダムに数字が入ります。たとえばG1に9が必ず入るわけではありません。毎回違います。 4の行も同じようにランダムで数字が入ります。 そこで1の行に入った数字が4の行の同じ数字を感知してその下の5の行の数字が2の行に来るようにしたいのですが。どうにかなりませんでしょうか。 一応例をかきましたが、1の行の8があります、4の行にも8があります、4の行8の下に16のがあります、その16が、1の行の8の下に来るようにしたいのです。 このような関数式ありましたら教えてください。お願いします 

  • エクセル、行のランダムについて

    エクセル、行のランダムについて エクセルで行のランダムについて教えてください。 仮にエクセルシートに以下のようなデータがあるとします。  |  A  |  B  |  C  |  D  |  E  | 1|    |今日は |昨日は |明日は |    |  2|    |良い  |悪い  |普通の |最悪な |  3|    |1日  |日   |    |    |  4|    |でした。|だった。|    |    |  このようなデータがあるとして、各行、ランダムに1つ選び、A列に入れて文章を作成したいのですが、どのようにすればいいでしょうか?

専門家に質問してみよう