2012-01-10 25 views
0

「C」の値が空白の場合、「C」の空白のコピー値ではない場合、「C」の値が空白の場合、下部に始まります。 "B"が空白の場合は "A"を探します(BとDの空白のコピー値でない場合)。 "A"が空白の場合は、次の項目に移動します(AとDの空白のコピー値でない場合)。貼り付けデータUP

ページの下部で開始して上に移動するスクリプトが必要です。移動するために不可欠である理由私は理解していない

END RESULT 
color  12 
primary 35 
blue  1 
shape  685 
rounded 1 
oval  25 
size  21 
big  56 
giant  10 


DATA: 
    A  B  C  D 
1 size big  giant 10 
2 size big    56 
3 size     21 
4 shape rounded oval 25 
5 shape rounded   1 
6 shape     685 
7 color primary blue 1 
8 color primary   35 
9 color     12 
+0

サンプルデータを編集し、Aが空白の少なくとも1つのケースを含める必要がある場合は、より明確になります。 –

+0

新しい質問を開始する前に、あなたの最後の質問を解決してフィードバックしたり、マークしたりするのはどうですか? – Reafidy

答えて

1

:ロジックは、以下のデータを使用して、最終的な結果は以下のようになります行1

を介して実行したときにたとえば、行9および終了時に開始行間には関係がないので、

E1に次の数式をコピーし、コピーして、求める値を取得します。

=IF(C1="",IF(B1="",A1,B1),C1) 

これは逆の順序ではなく、必要な結果をリストする方法です。それをソートしたいのですか、計算シーケンスを表示していますか?

追加情報への応答で余分な部分列F、現在F9の底部と型に

ゴー:

=ROW(F$9)-ROW(F9) 

コピーの列があなたの番号を与えるまでの、この式0アップ列Fを昇順または降順に並べ替えることができます。

私はあなたにこれと同等のVBAを与えるためにSiddharth Routを残します。ちなみに、Siddharthは2つの追加の列を作成していますので、結果は表示される列の順序になります。私はこれが素晴らしい追加だと思った。数式アプローチを好む場合は、数式でも同じことができます。

+0

ColorはBlueの上にあるPrimaryの上にある必要があるので、逆のシーケンスでそれを必要とします。 – rjk

0

Tonyは既にあなたが望むものを達成する最も簡単な方法を提供していますが、それでもあなたにはEXACTの出力を与えるコードが必要なら、これを試してみてください。出力は次のようになります。G

Option Explicit 

Sub Sample() 
    Dim LastRow As Long, Rw As Long, i As Long 

    LastRow = Range("D" & Rows.Count).End(xlUp).Row 
    Rw = 1 

    For i = LastRow To 1 Step -1 
     If Len(Trim(Range("C" & i).Value)) = 0 Then 
      If Len(Trim(Range("B" & i).Value)) = 0 Then 
       If Len(Trim(Range("A" & i).Value)) <> 0 Then 
        Range("F" & Rw).Value = Range("A" & i).Value 
        Range("G" & Rw).Value = Range("D" & i).Value 
       End If 
      Else 
       Range("F" & Rw).Value = Range("B" & i).Value 
       Range("G" & Rw).Value = Range("D" & i).Value 
      End If 
     Else 
      Range("F" & Rw).Value = Range("C" & i).Value 
      Range("G" & Rw).Value = Range("D" & i).Value 
     End If 

     Rw = Rw + 1 
    Next i 
End Sub 
関連する問題