• 締切済み

EXCElでの自動で行う掛け算の高度な使い方

1 0 1 0 1 0 1 1 1 1 1 0 2 1 1 0 2 1 0 1 2 1 0 0 2 1 0 1 3 0 0 1 ・・・ のようなデータがあって 1 0 1 0 2 1 0 0 3 0 0 1 のように1なら1だけで、縦をすべて掛け合わせた値を、2なら2だけで縦をすべて掛け合わせた値を自動的に求めたいのですが、EXCELで自動で行うよい方法はあるのでしょうか? それぞれの数字でセル数は異なります。大量にデータがあるため、手作業だとものすごく時間がかかるため、わかる方いましたら回答よろしくお願いします。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

No3の回答の訂正です。 お分かりになったかもしれませんが、重複のない数字の一覧を自動表示する場合に、F1セルに入力する式はMAX関数ではなくMIN関数です。 F1セル: =MIN(A:A)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

計算対象の数字が1と0以外にもあり、本当に掛け算の答えが必要なら以下のような数式になります(数字がF1セルに入力されている場合)。 =PRODUCT(IF($A$1:$A$1000=$F1,B$1:B$1000)) 配列数式ですのでCtrl+Shift+Enterで確定してください。 F1セル以下に入力する数字に規則性がないなら、以下のような関数で重複のない数字の一覧を取得することができます。 F1セル: =MAX(A:A) F2セル: =IF(OR(F1="",F1=MAX(A:A)),"",SMALL(A:A,COUNTIF(A:A,"<="&F1)+1)) F2セル以下はF2セルをオートフィルコピー

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

筆が滑りました。積で間違い無かったですね。失礼しました。 別の方法: ABCD列にデータを並べる A1に「項目」,B1,C1,D1にC1,C2,C3ととりあえず記入する 全体をA列の昇順で並べ替える(若しくは掛け算したい行ごとに上下にくっつくように並べ替える) A:D列を列選択し,データメニュー(データタブ)の「集計」を開始,項目列を基準として,C1,C2,C3列の集計にチェック,集計の方法を「積」にして集計させる。 必要に応じて,画面左上に現れた「□2」をクリック, 全体を選択し, Ctrl+Gを押し,現れたウィンドウでセル選択をクリックし,現れたウィンドウで「可視セル」にマークしてOK CtrL+Cでコピーし,シート2などに貼り付けて結果を取り出す。

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

掛け算じゃなく単純な論理積ですね。 A1からA8に1,2,3,B,C,D列の1~8行にゼロ・1が記入されているとして F1に1 F2に2 F3に3 をそれぞれ記入 G1に =AND(IF($A$1:$A$8=$F1,B$1:B$8,""))*1 と記入してコントロールキーをシフトキーを押しながらEnterで入力 右にコピー,下にコピー。