- 締切済み
データから130以上と140以上を別々に抽出したい
血圧測定の結果データがあります。 一回目の結果が140以上/90以上のときは、もう一度測り直します。 一回目の結果が140未満/90未満のときは、二回目はせず、値は「0/0」として未記載はなしです。 やりたいことは、 二回の結果のうち小さい値のほうで 130以上のとき/140以上のときを抽出(条件にあっていれば1と表示)したい ※ただし、二回目をしなかった場合は一回目の値だけで抽出 A B C D E 1氏名 上血圧1回目 上血圧2回目 130以上 140以上 2 AA 150 140 【ここ】→1と表示 【ここ】→1と表示 3 BB 140 150 【ここ】→1と表示 【ここ】→1と表示 4 CC 140 130 【ここ】→1と表示 【ここ】→0と表示 5 DD 140 120 【ここ】→0と表示 【ここ】→0と表示 6 EE 135 0 【ここ】→1と表示 【ここ】→0と表示 6 FF 120 0 【ここ】→0と表示 【ここ】→0と表示 私が考えた式は、 140以上の方は、 =if(and(B列>=140,C列>=140),1,0) と、1つの式でできるかなと思うのですが、130以上の方は、三段階になってしまいました。 130以上の方は、 (1)まず一回目で測定完了の場合を抽出 =IF(AND(B列>=130,C列=0),1,0) (2)つぎに二回目まで測定した場合を抽出 =IF(AND(MIN(B列,C列)>=130,C列<>0),1,0) (3)さいごに(1)と(2)を足すと130以上が1と抽出 この、130以上の式は1つの式で作ることは可能でしょうか。 単純に、(1)と(2)をくっつければよいのかと思い、 =IF(OR(AND(B列>=130,C列=0),(AND(MIN(B列,C列)>=130,C列<>0)),1,0) としたところ、 「そんな数式はない」とexcelに言われ行き詰まりました。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>「そんな数式はない」とexcelに言われ行き詰まりました。 カッコの括り方が違っているようです。 提示の数式の「列」を「2」に書き換えると次の数式になります。 =IF(OR(AND(B2>=130,C2=0),(AND(MIN(B2,C2)>=130,C2<>0)),1,0) ↓ =IF(OR(AND(B2>=130,C2=0),AND(MIN(B2,C2)>=130,C2<>0)),1,0) 間違いの見つけ方は数式バーの左側にある「fx」ボタンをクリックして関数の引数毎に内容を確認すれば分かり易いでしょう。
- idnt1001
- ベストアンサー率0% (0/2)
二つの条件を満たす必要があります。 上血圧2回目のところ0の時、上血圧1回目のデータを利用したい場合以下のように入力します。 AND(C2=0,B2>=130),1 上血圧2回目の時130以上を以下の通り入力します。 IF(C2>=130,1,0) あわせると以下のようです。 =IF(AND(C2=0,B2>=130),1,IF(C2>=130,1,0)) 結果を画像から確認ください。
- msMike
- ベストアンサー率20% (368/1813)
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
=IF(MAX(B列,C列)>=140,0,IF(MAX(B列,C列)>=130,1,0)) D列はこれでできます