プロが教える店舗&オフィスのセキュリティ対策術

=COUNTIF(G11:G34,"日")*8+COUNTIF(G11:G34,"遅1")*8+COUNTIF(G11:G34,"遅2")*8+COUNTIF(G11:G34,"遅3")*5.5+COUNTIF(G11:G34,"A")*5+COUNTIF(G11:G34,"B")*4+COUNTIF(G11:G34,"C")*5
の、G11:G34部分をG11とG13とG15〜G33と、離れたセルを選択したいのですが・・・
よろしくお願いいたします。

A 回答 (6件)

=COUNTIF(G11,"日")*8+COUNTIF(G11,"遅1")*8+COUNTIF(G11,"遅2")*8+COUNTIF(G11,"遅3")*5.5+COUNTIF(G11,"A")*5+COUNTIF(G11,"B")*4+COUNTIF(G11,"C")*5+COUNTIF(G13,"日")*8+COUNTIF(G13,"遅1")*8+COUNTIF(G13,"遅2")*8+COUNTIF(G13,"遅3")*5.5+COUNTIF(G13,"A")*5+COUNTIF(G13,"B")*4+COUNTIF(G13,"C")*5+COUNTIF(G15:G33,"日")*8+COUNTIF(G15:G33,"遅1")*8+COUNTIF(G15:G33,"遅2")*8+COUNTIF(G15:G33,"遅3")*5.5+COUNTIF(G15:G33,"A")*5+COUNTIF(G15:G33,"B")*4+COUNTIF(G15:G33,"C")*5



これではいけませんか?
countifの構文上後から足すという方法でないと多分無理です。
    • good
    • 0
この回答へのお礼

早々のお答えありがとうございます。
ただ、+COUNTIF(G15:G33,"日")*8+COUNTIF(G15:G33,"遅1")*8+COUNTIF(G15:G33,"遅2")*8+COUNTIF(G15:G33,"遅3")*5.5+COUNTIF(G15:G33,"A")*5+COUNTIF(G15:G33,"B")*4+COUNTIF(G15:G33,"C")*5以降が難しいですね・・・他に方法ないですかね・・・

お礼日時:2016/05/13 22:29

No.4,5です


No.5の下の回答は[Ctrl]+[Shift]+[Enter]で確定する必要があります
たぶん↓一番短い数式。汎用性がないので、作業列を使った方がよさそうです
=SUMPRODUCT((G11:G33={"日","遅1","遅2","遅3","A","B","C"})*{1;0;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1}*{8,8,8,5.5,5,4,5})
    • good
    • 0

No.4です


Bのところに変なカンマが入ってましたm(_ _)m
修正です

また、単一セルの判断は単純にイコールとしました。
もう一度
=SUM((G11={"日","遅1","遅2","遅3","A","B","C"})*{8,8,8,5.5,5,4,5},
(G13={"日","遅1","遅2","遅3","A","B","C"})*{8,8,8,5.5,5,4,5},
COUNTIF(G15:G33,{"日","遅1","遅2","遅3","A","B","C"})*{8,8,8,5.5,5,4,5})

さらに短くはできるけど、、、
=SUM((CHOOSE({1;2},G11,G13)={"日","遅1","遅2","遅3","A","B","C"})*{8,8,8,5.5,5,4,5},
COUNTIF(G15:G33,{"日","遅1","遅2","遅3","A","B","C"})*{8,8,8,5.5,5,4,5})
    • good
    • 0

こんな感じでしょうか?


=SUM(COUNTIF(G11,{"日","遅1","遅2","遅3","A",",B","C"})*{8,8,8,5.5,5,4,5},
COUNTIF(G13,{"日","遅1","遅2","遅3","A",",B","C"})*{8,8,8,5.5,5,4,5},
COUNTIF(G15:G33,{"日","遅1","遅2","遅3","A",",B","C"})*{8,8,8,5.5,5,4,5})
    • good
    • 0

ちょっとだけですが、短くしてみました。



=SUM(A1="日",A3="日",COUNTIF(A5:A10,"日"))*8
+SUM(A1="遅1",A3="遅1",COUNTIF(A5:A10,"遅1"))*8
+SUM(A1="遅2",A3="遅2",COUNTIF(A5:A10,"遅2"))*8



+SUM(A1="C",A3="C",COUNTIF(A5:A10,"C"))*5
    • good
    • 0

No.1の式であればExcelは受け付ける長さになりますが、単純に足し算で計算してはいけない理由は何でしょうか?



他の方法となりますと、日、遅1、遅2、遅3、A、B、Cに対して1:1で結びつくような数字を振ってやれば下記のようなことはできます。
=INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),1)*8
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),2)*8
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),3)*8
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),4)*5.5
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),5)*5
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),6)*4
+INDEX(FREQUENCY((G11,G13,G15:G33),検索条件の一覧のセル範囲),7)*5

もしもほぼ無限に数式が増える可能性があるのであれば以下のような対策をとる必要があるかと。
・数式の増減に合わせて中間結果を出力セルを追加する
・マクロにする

表構造を変えず長い数式を使わないという条件を付けるとマクロが一番妥当な方法だと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!