[[20210708120452]] 『符号の判定』(K) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『符号の判定』(K)

何度やっても上手くいかないので質問しました。

まずA、B、Cという値があって、それぞれに役割があります。
A:1つ下のセルから符号を反転(1⇆−1)
B:そのセル以降、正負にかかわらず1
C:スタートは1だがA,Bにより1or-1

例えば以下のような1列の表(A,B,Cは適当です)があってそれぞれ隣のセルで符号(+1,-1)を判別したいのですが。。。

A→1
C→-1
C→-1
B→1
A→1
C→-1
A→-1
B→1
C→1
C→1
A→1
C→-1

何か良いアイデアがあれば教えてください。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


すみません。

数式の話でしょうか?
VBAでの話でしょうか?

(まっつわん) 2021/07/08(木) 13:29


もちろんVBAでもOKです。
何かアイデアあれば助かります。
(K) 2021/07/08(木) 14:01

数式のつもりでしたがVBAでも助かります。
(K) 2021/07/08(木) 14:03

Bの役割ってほんとに1にするでいいんですか?
下の値が-10なら10にするじゃなくて1にするんですよね?
(砂糖) 2021/07/08(木) 14:40

間違いですね。すみません。
Bは1にするんじゃなくて正にするという感じです。

なので

A→1つ下の行から以降符号反転。
B→同じ行から以降、符号は正になる。
C→A、Bに影響されるがスタートは正の数。

例えば12行2列の表があるとして

列1 列2

A→1
C→-1
C→-1
B→1
A→1
C→-1
A→-1
B→1
C→1
C→1
A→1
C→-1

列2のように出したいんです。。。

(K) 2021/07/08(木) 15:20


=CHOOSE(CODE(A2)-64,B1*-1,ABS(B1),B1)

最初のCがなんで-1かがわからんけど^^;
(まっつわん) 2021/07/08(木) 17:14


cが先頭ならスタートは1になりますがaが前にあるので-1になります。
分かりづらくてすみません。
(K) 2021/07/08(木) 17:53

ああ、Aの後は逆でBのあとはそのままか
・・・・・書き方が1or-1とか分かりにくい。
条件は、どういうときにどう、と書いてください、横着したら、ご自分が損しますよ。

(まっつわん) 2021/07/08(木) 18:01


ヒントは書いたので、
Cの時はIf関数で条件分岐したらよいかと。。。。
(まっつわん) 2021/07/08(木) 18:03

 計算は大したことないと思いますが,説明が難しいですね。
 以下のような説明はできないでしょうか。

 ・1 または -1 の二値の"状態"をとるものがある。
 ・{A,B,C}という三種類のそれぞれの入力に応じて、
   その状態が遷移していくが、そのルールは次の通りとする。
   ・"A"  は 状態を反転させる(1は-1に、-1は1)に
   ・"B"  は 常に状態1に遷移
   ・"C"  は 状態を変えない

 それで、初期状態と、複数の入力系列を順次与えたときの、
 各時点の状態を求めたい、ということですか?

 例えば、初期状態が1であるとして、
      1
 A   -1       (読み方: 状態1に対して入力"A"があると,状態は-1 になる)
 C   -1
 C   -1
 B    1
 A   -1
 C   -1
 A    1
 B    1
 C    1
 C    1
 A   -1
 C   -1

 なにか、こんな説明があると理解しやすいのではないか。 

 # "有限オートマトン"と呼ばれるモデルですね。
(γ) 2021/07/08(木) 18:06

説明分かりづらくてすみませんでした。
ヒント教えて下さった方ありがとうございました。
参考にしてやってみます。
(K) 2021/07/08(木) 20:09

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.