[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『C列に入れる数式を教えて下さい。』(正)
お世話になります。
下記、条件1から4をC列に入れる数式を教えて下さい。
データは下記に添えました。
条件1条件2の数式はできるのですが、条件3、条件4の数式ができません。
データは5000行ほどあります。
条件1 A列が-4の次に-5になったときC列に 1 を入れる。
条件2 B列が4の次に5になったときC列に 2 を入れる。
条件3 A列が-5になったときB列が5より大きい時は、B列を遡って同じ値の始まりのC列に 3 を入れる。
条件4 B列が5になったときA列が―5より小さい時は、A列を遡って同じ値の始まりのC列に 4 を入れる。
A列 B列 C列
宜しくお願いします。 (正)
< 使用 Excel:Excel2010、使用 OS:Windows10 >
(前提条件)
・C列とD列を作業列として噛ませ、実際の計算結果がE列に出るようになっています。
・関数の関係上、最初のデータは1行目ではなく2行目から入力する必要があります。
C2 =IF(OR(AND(C3="a",B2=B3),AND(A2=-5,B2>5)),"a","")
D2 =IF(OR(AND(B2=5,A2<-5),AND(D3="b",B2=B3)),"b","")
E2 =IF(AND(A1=-4,A2=-5),1,IF(AND(B1=4,B2=5),2,IF(AND(C2="a",C1=""),3,IF(AND(D2="b",D1=""),4,""))))
おそらく他の方がもっとスマートな回答を下さると思いますので、それまでの繋ぎにでもご利用いただければよいかと思います。
ご参考までに。
(きゅうり婦人) 2017/10/18(水) 08:48
条件3、4とも、a.b列両方とも同じ値が続いた時はどうするんですか? 例えば、 3 5 3 6 3 7 3 7 4 7 5 7 a.b列両方同じ値が続く時もあるみたいなので、 こう言うパターンもあるんじゃ無いですか? こう言う時はc列はどうなるんですか? それともこんなパターンは絶対無い?
(sy) 2017/10/18(水) 12:37
下記のような状態です。
A列 B列 作業列1 作業列2 ご教示の答 希望の答え
尚、私の方も質問の条件5、条件6を書くのを忘れていました。
このデータの中にはなかったので実際のデータに入れて気が付きました。すみません。
条件を再度記します。
C列に入れる数式を教えて下さい。
条件1、条件2の数式はできるのですが、条件3、条件4,条件5、条件6の数式ができません。
データは5000行ほどあります。
条件1 A列が-4の次に-5になったときC列に 1 を入れる。
条件2 B列が4の次に5になったときC列に 2 を入れる。
条件3 A列が-4の次に-5になったときB列が5より大きい時は、B列を遡って同じ値の始まりのC列に 3 を入れる。
条件4 B列が4の次に5になったときA列が―5より小さい時は、A列を遡って同じ値の始まりのC列に 4 を入れる。
条件5 A列が-4の次に-5になったときB列が0の場合は一つ前のB列が5より大きい時は、B列を遡って同じ値の始まりのC列に 5 を入れる。
一つ前のB列が5の場合は何もしない。
条件6 B列が4の次に5になったときA列が0の場合は、一つ前のA列が-5より小さい時は、A列を遡って同じ値の始まりのC列に 6 を入れる。
一つ前のA列が-5の場合は何もしない。
以上です。よろしくお願いします。
(正)
質問有難うございます。
サンプルデータではなぜかA列の−符号が不鮮明ですが、A列はすべてが0か−1以下です。
B列はすべて0か1以上です。
3 5 3 6 3 7 3 7 4 7 5 7
そこで上記のような場合は最後のA列―5,B列7の場合はC列は1が入ります。(条件1により)
尚、上から3行目B列7のC列の行に3を入れます。(条件3により)
もし、最後のA列―5,B列7が、0場合はC列に1が入ります。(条件1により)
そして、上から3行目B列7のC列の行に5を入れます。(条件5により)
この説明でよろしいでしょうか。よろしくお願いします。
(正)
(正) 2017/10/18(水) 15:05
書き込み時に頭に半角スペースを入れてみてくれ。
半角スペースなし
半角スペースあり
-1 2
(ねむねむ) 2017/10/18(水) 16:39
なるほど、そういうことですか。有難う。
(正)
(正) 2017/10/18(水) 17:02
(前提条件)
・今回も作業列を噛ませています。
・データは2行目から入力することになります。
C2 =IF(OR(AND(C3="a",B2=B3),AND(A2=-5,B2>5,A1=-4)),"a","")
D2 =IF(OR(AND(B2=5,A2<-5,B1=4),AND(D3="b",A2=A3)),"b","")
E2 =IF(OR(AND(A2=-5,A1=-4,B2=0,B1>5),AND(E3="c",B2=B3)),"c","")
F2 =IF(OR(AND(B2=5,B1=4,A2=0,A1<-5),AND(F3="d",B2=B3)),"d","")
G2 =IF(AND(A1=-4,A2=-5),1,IF(AND(B1=4,B2=5),2,IF(AND(C2="a",C1=""),3,IF(AND(D2="b",D1=""),4,IF(AND(E2="c",E1=""),5,IF(AND(F2="d",F1=""),6,""))))))
これで、4レス目で文章にてお示しいただいた条件通りの出方をすると思います。
ですが、少し気になることがありまして・・・
・条件5に「一つ前のB列が5より大きい場合」と「一つ前のB列が5の場合」はお示しいただいていますが、5未満の場合はどうするのか?(上の関数式は、「5より大きい」と「5以下」の2つだけの想定で組んでいます。また、条件6も同様です)
・5レス目(sy様へのご返信)での例と、4レス目で文章にてお示ししていただいている条件5が、噛み合っていないように見えます。A列が-4の次に-5になっているとき、B列が0ならば・・・とありますが、5レス目の例におけるB列は7ですので、条件5の対象にならないと思います。
私の読解力不足であれば申し訳ありませんが、ご確認ください。
今回私が提示する式は、4レス目の文章書きしていただいている条件の通りにしています。つまり、この式では、5レス目でお示しいただいている例と同じ結果にはなりません。
(きゅうり婦人) 2017/10/19(木) 17:58
お忙しいところを早速ご返事下されありがとうございます。
>・条件5に「一つ前のB列が5より大きい場合」と・・・・
返事:最初にお詫びします。実は条件3、条件6はそのようなデータがあると思ったのですが、A列、B列を数式で算出していますが、そのようなデータは出ないのです。今気が付きました。
条件3、条件6は削除してください。
そこで早速ご教示頂いた数式を実データで調べさせていただきました。
条件1 数式完成
条件2 数式完成
条件4 数式完成
条件5 △ 下記のような場合ですが、1は出ているのですが5が出ていないのです。
5が出れば数式は完成します。
A列 B列 作業列1 作業列2 作業列3 作業列4 回答
宜しくお願いします。
条件3と条件6は取り消します。
(正)
(正) 2017/10/20(金) 00:16
前提条件は同様として、下記の式でいかがでしょうか。
実際のデータがE列に出力されます。
C2 =IF(OR(AND(B2=5,A2<-5,B1=4),AND(C3="a",A2=A3)),"a","")
D2 =IF(OR(AND(A2=-5,A1=-4,B2=0,B1>5),AND(D3="b",B2=B1)),"b","")
E2 =IF(AND(A1=-4,A2=-5),1,IF(AND(B1=4,B2=5),2,IF(AND(C2="a",C1=""),4,IF(AND(D2="b",D1=""),5,""))))
ご確認ください。
(きゅうり婦人) 2017/10/20(金) 08:22
早々のご教示恐縮致します。
実に希望通りの数式が得られました。
実用に利用させて頂きますとともに、数式を勉強させて頂きます。
有難うございました。今後とも宜しくご指導お願いします。
(正)
(正) 2017/10/20(金) 11:36
作業列を噛ませるのは美しくないのかもしれませんけれど、私には精いっぱいでした。
今後とも、よろしくお願いいたします。
(きゅうり婦人) 2017/10/20(金) 12:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.