Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51987 / 76732 ←次へ | 前へ→

【29593】値の振り分けです。よろしくお願いします...
質問  ℃素人  - 05/10/8(土) 18:56 -

引用なし
パスワード
   いつも参考にさせていただいております。
以前,質問させていただきました,℃素人と申します。
自身で試行錯誤ためしてみたのですが,うまくいきませんでした。
大変申し訳ないのですが,
前回に加えご教示お願いします。
以前の質問+αなのですが,以下に詳細を載せさせていただきます。

------------------------------------------------
項目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   " "   /   /

という具合にしたいのです。
質問ばかりで失礼ですが,
どなたかご教示いただけますでしょうか。
申し訳ありませんが,よろしくお願いします。

0 hits

【29593】値の振り分けです。よろしくお願いします... ℃素人 05/10/8(土) 18:56 質問
【29594】Re:値の振り分けです。よろしくお願いしま... Hirofumi 05/10/8(土) 20:53 回答
【29595】Re:値の振り分けです。よろしくお願いしま... Hirofumi 05/10/8(土) 21:10 発言
【29618】Re:値の振り分けです。よろしくお願いし... ℃素人 05/10/9(日) 16:27 お礼
【29596】Re:値の振り分けです。よろしくお願いしま... ichinose 05/10/8(土) 22:43 発言
【29619】Re:値の振り分けです。よろしくお願いし... ℃素人 05/10/9(日) 16:41 お礼
【29624】Re:値の振り分けです。よろしくお願いし... ichinose 05/10/9(日) 18:06 発言
【29667】Re:値の振り分けです。よろしくお願いし... ℃素人 05/10/11(火) 12:20 お礼

51987 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free