[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件付きの3列おきの計算』(アボカドたろう)
こんにちは
1行に入力項目として「数値,日付1,日付2」をセットで繰り返す表があり、
「日付1」が入力されているセルの数をカウントしたいです。
ただし条件として、
1) 「数値」には、1〜3が入力され、「数値」が1のときは1としてカウント、それ以外は0.5としてカウント
2) 「日付2」に日付が入力されている場合はカウントしない
とします。
3) 「日付2」に文字列が入力されている場合は無視して、条件1) のとおりにカウントする
例)
数値 日1 日2 数値 日1 日2 数値 日1 日2 A B C D E F G H I 1 4/10 5/10 2 4/16 1 4/20 あ
上の場合、E列を0.5 と H列を 1とカウントして、計1.5 となります。
ややこしくて申し訳ありませんがよろしくお願いいたします
< 使用 Excel:Excel2007、使用 OS:Windows8 >
=TEXT((COUNT(A2:C2)<3)*A2,"[<2];0;!0!.5")+TEXT((COUNT(D2:F2)<3)*D2,"[<2];0;!0!.5")+TEXT((COUNT(G2:I2)<3)*G2,"[<2];0;!0!.5") (GobGob) 2015/05/18(月) 11:02
countでこのような使い方ができるとは思いもよらず大変勉強になりました。
ただ、データが大量にあるのですが、やはりその分だけ式を追加していくしかないのでしょうか。
(アボカドたろう) 2015/05/19(火) 09:14
範囲柔軟化。
=SUMPRODUCT(TEXT((0&REPT(A1:G1,ISERR(-(C1:I1&"")))),"[<2]0;!0!.5")*(MOD(COLUMN(A1:G1)-1,3)=0))
※好きな範囲に設定してちょ。 但し、A列からが基本。 (GobGob) 2015/05/19(火) 14:13 → 14:45 チョイ修正
せっかく素晴らしいお答えをいただいたのに申し訳ないのですが、データはA列からではないのです。
表の場所は移動するので、列を限定できません。
情報不足で申し訳ございません。
上の式を用いて単純に列をずらすだけではだめなようでしたので、
もしA列からが原則ということであれば、最初に教えていただいた式で対応したいと思います。
(アボカドたろう) 2015/05/20(水) 09:23
(1)A1:G1 ⇒ 「各3列データ」の最初の1列目から最後の1列目まで (2)C1:I1 ⇒ 「各3列データ」の最初の3列目から最後の3列目まで
で、範囲を変更。
ちなみに COLUMN関数だけは必ずA列からスタート。(A列〜 列数は(1)のデータ列数に合わせてね) (GobGob) 2015/05/20(水) 10:22
自分ではとうてい考えつかない式でした。
ご丁寧な指導、心より感謝いたします。
(アボカドたろう) 2015/05/20(水) 14:02
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.