2017-06-27 3 views
0

Ich habe ein Blatt, das in der Spalte M es Datum des Besuchs hat und dann habe ich in einer Formel setzen, die dann 6 Monate bis zum Zeitpunkt ergänzt, die in der Spalte N. angezeigt wirdExcel IF Statments oder VBA

Dann habe ich eine versteckte zwei Spalten, die das Datum ausarbeitet und ab diesem Datum wurde RAG bewertet, Red Amber Green.

  • Spalte M Datum des Besuchs
  • Spalte N Weiter besuchte
  • Spalte Q ist die Formel, die Sie, wie viele Tage über oder unter
  • Spalte R erzählt wird, wo auf Spalte Q basiert, wenn es G, A, R (grün, gelb oder rot)

ich habe diese Formel, die alle Termine aufgelistet und entfernt alle leeren Zellen in der Spalte N

= IFERROR (INDEX (Blatt2! $ N $ 3: $ N $ 78, KLEIN (IF (LEN (Blatt2! $ N $ 3: $ N $ 78) = 0, "", ROW (Blatt2! $ N $ 3: $ N $ 78) -MIN (ROW (Sheet2 $ N $ 3: $ N $ 78)!) + 1), ROW (Sheet2 N2))) "")

Was ich will, ist, wenn die folgende Formel ist wahr dann löste die oben, sondern nur für Zellen, die R in Spalte R

Hoffnung das macht Sinn

= IF (CNI! R3 = "R", sheet2! N3, "") haben .

ich nichts dagegen haben, VBA verwenden, wenn es einfacher ist,

+0

In dem Versuch zu verstehen, werde ich wiederholen, was ich denke, dass ich lese. Bitte korrigieren Sie wo falsch. Sie haben Elemente, die von If/Then und bedingte Formatierung in Ihrer Arbeitsmappe behandelt werden können. Sie möchten auch Zeilen entfernen/löschen, wenn ihnen Daten fehlen (basierend auf Spalte N). In Bezug auf das If/Then können Sie * die if-Anweisungen * verschachteln, wobei, wenn die CNI-Zelle R3 = "R" ist, Ihre wahre Aussage der IFERROR wäre ...))) "") und Ihre falsche Aussage "" wäre. . VBA kann diesen Code akzeptieren, wenn Sie Zeilen löschen möchten (dies muss in "VBA" oder "Excel" der Fall sein). – Cyril

+0

Wie heißt ein Blatt, in welchem ​​Blatt steht diese Formel und was gilt als wahr? – pnuts

+0

@pmuses Sheet1 ist wo ist die Formel und Blatt 2 ist, wo alle Daten sind. –

Antwort

0

Leider zu erreichen, ich bin ein paar Tage hinter auf für das für Sie zu reagieren.

=IFERROR(INDEX(Sheet2!$N$3:$N$78, SMALL(_ 
IF(LEN(Sheet2!$N$3:$N$78)=0,"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78)_ 
)+1), ROW(Sheet2!N2))),"") 

Aber Sie wollen die dies geschehen kann, wenn Sie ein zusätzlichen Kriterien haben, dies:

=IF (CNI!R3="R",SHEET2!N3,"") 

Sie können mehrere Kriterien in Ihrer if-Anweisung haben mit AND(). Ich denke, dass Sie die folgenden verwenden könnten, vorausgesetzt, nur Sie wollen, dass spezifische If-Anweisung anzuwenden (von oben genommen, in dem ersten Kodierabschnitt meiner Post If-Anweisung ausgebrochen):

IF(AND(CNI!R3="R",LEN(Sheet2!N$3:$N$78)=0),"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78) 

Wenn Ihr Ziel (ab dem zweiten Stück Code) zu ersetzen, ist die Sheet2 N3 (Ihre wahre Zustand), dann würden Sie auf der folgenden Zeile suchen, die beide Linien des Codes enthält:

=IF (CNI!R3="R",IFERROR(INDEX(Sheet2!$N$3:$N$78, SMALL(IF(LEN(Sheet2!$N$3:$N$78)=0,"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78))+1), ROW(Sheet2!N2))),""),"") 

Lassen Sie mich wissen, ob das hilft, das Problem zu klären!