|
いつも参考にさせていただいております。
以前,質問させていただきました,℃素人と申します。
自身で試行錯誤ためしてみたのですが,うまくいきませんでした。
大変申し訳ないのですが,
前回に加えご教示お願いします。
以前の質問+αなのですが,以下に詳細を載せさせていただきます。
------------------------------------------------
項目2において,n試行(下の例の場合は1試行と2試行)前と比較し,
同じであれば same列 へ異なれば different列 へ
項目1の値を振り分けたいのです
(例えば,1試行前と比較の場合,10試行目がAで9試行目がBであれば→different列へ試行10の項目1の400を)。
試行 項目1 項目2 same different
10 400 A 400
9 500 B 500
8 450 A 450 項目2において,
7 550 A 550 1試行前と比較する場合
6 500 A 500
5 600 B 600
4 400 A 400
3 300 B 300
2 350 A 350
1 400 A / /
試行 項目1 項目2 same different
10 400 A 400
9 500 B 500
8 450 A 450 項目2において,
7 550 A 550 2試行前と比較する場合
6 500 A 500
5 600 B 600
4 400 A 400
3 300 B 300
2 350 A / /
1 400 A / /
------------------------------------------------
という内容を以前に質問させていただき,
ichinose様に
------------------------------------------------
Sub main()
Dim comptry As Variant
Dim rng As Range
comptry = Application.InputBox("比較する試行前入力", , , , , , , 1)
'ここで、1とか2とかを指定します。
If TypeName(comptry) <> "Boolean" Then
Set rng = Range("a2", Cells(Rows.Count, 1).End(xlUp))
If rng.Row > 1 Then
With rng.Offset(0, 3).Resize(, 2)
.Formula = Array( _
"=if(a2<=" & comptry & ",""***"",IF(C2=C" & 2 + comptry & ",B2,""""))", _
"=if(a2<=" & comptry & ",""***"",IF(C2=C" & 2 + comptry & ","""",b2))")
End With
End If
End If
End Sub
------------------------------------------------
をいただいたのですが,
今回は,項目2においてn試行前と比較し
n試行前がA,Bでなくスペース(以下では,分かりやすいように" "としてあります)であれば,
same,different列には何も記載しない(スペース)と追加したいのです。
また,項目2がスペースの試行(下の上例ですと,8試行と4試行)もsame,different列には何も記載しないようにしたいです。
試行 項目1 項目2 same different
10 400 A 400
9 500 B " "
8 450 " " " " 項目2において,
7 550 A 550 1試行前と比較する場合
6 500 A 500
5 600 B " "
4 400 " " " "
3 300 B 300
2 350 A 350
1 400 A / /
試行 項目1 項目2 same different
10 400 A " "
9 500 B 500
8 450 " " " " 項目2において,
7 550 A 550 2試行前と比較する場合
6 500 A 500
5 600 B 600
4 400 A 400
3 300 B " "
2 350 A / /
1 400 " " / /
という具合にしたいのです。
質問ばかりで失礼ですが,
どなたかご教示いただけますでしょうか。
申し訳ありませんが,よろしくお願いします。
|
|