2017-06-30 3 views
-5

Benötigen Sie Hilfe bei dieser Funktion.verschachtelte IF, UND, ODER-Funktion vergleichen und geben Ergebnis Excel

=IF(AND($F5="Miks M",OR($G5="Miks M")),0,IF(AND($F5="Miks M",OR($G5="Miks L")),1,IF(AND($F5="Miks M",OR($G5="Miks XL")),2,IF(AND($F5="Miks M",OR($G5="Miks S")),-1,IF(AND($F5="Miks M",OR($G5="Miks XL PLUS")),3,IF(AND($F5="Miks M",OR($G5="Miks XXL")),4,IF(AND($F5="Miks M",OR($G5="Super")),5,IF(AND($F5="Miks M",OR($G5="Prica Plus")),-2,IF(AND($F5="Miks S",OR($G5="Prica Plus")),-1,IF(AND($F5="Miks S",OR($G5="Miks S")),0,IF(AND($F5="Miks S",OR($G5="Miks M")),1,IF(AND($F5="Miks S",OR($G5="Miks L")),2,IF(AND($F5="Miks S",OR($G5="Miks XL")),3,IF(AND($F5="Miks S",OR($G5="Miks XL PLUS")),4,IF(AND($F5="Miks S",OR($G5="Miks XXL")),5,IF(AND($F5="Prica Plus",OR($G5="Prica Plus")),0,IF(AND($F5="Prica Plus",OR($G5="Miks S")),1,IF(AND($F5="Prica Plus",OR($G5="Miks M")),2,IF(AND($F5="Prica Plus",OR($G5="Miks L")),3,IF(AND($F5="Prica Plus",OR($G5="Miks XL")),4,IF(AND($F5="Prica Plus",OR($G5="Miks XL PLUS")),5,IF(AND($F5="Prica Plus",OR($G5="Miks XXL")),6,IF(AND($F5="Miks L",OR($G5="Prica plus")),-3,IF(AND($F5="Miks L",OR($G5="Miks S")),-2,IF(AND($F5="Miks L",OR($G5="Miks M")),-1,IF(AND($F5="Miks L",OR($G5="Miks L")),0,IF(AND($F5="Miks L",OR($G5="Miks XL")),1,IF(AND($F5="Miks L",OR($G5="Miks XL PLUS")),2,IF(AND($F5="Miks L",OR($G5="Miks XXL")),3,IF(AND($F5="Miks L",OR($G5="Super")),4,IF(AND($F5="Miks XL",OR($G5="Prica plus")),-4,IF(AND($F5="Miks XL",OR($G5="Miks S")),-3,IF(AND($F5="Miks XL",OR($G5="Miks M")),-2,IF(AND($F5="Miks XL",OR($G5="Miks L")),-1,IF(AND($F5="Miks XL",OR($G5="Miks XL")),0,IF(AND($F5="Miks XL",OR($G5="Miks XL PLUS")),1,IF(AND($F5="Miks XL",OR($G5="Miks XXL")),2,IF(AND($F5="Miks xL",OR($G5="Super")),3,IF(AND($F5="Miks XL Plus",OR($G5="Prica plus")),-5,IF(AND($F5="Miks XL Plus",OR($G5="Miks S")),-4,IF(AND($F5="Miks XL Plus",OR($G5="Miks M")),-3,IF(AND($F5="Miks XL Plus",OR($G5="Miks L")),-2,IF(AND($F5="Miks XL Plus",OR($G5="Miks XL")),-1,IF(AND($F5="Miks XL Plus",OR($G5="Miks XL PLUS")),0,IF(AND($F5="Miks XL Plus",OR($G5="Miks XXL")),1,IF(AND($F5="Miks xL Plus",OR($G5="Super")),2,IF(AND($F5="Miks XXL",OR($G5="Prica plus")),-6,IF(AND($F5="Miks XXL",OR($G5="Miks S")),-5,IF(AND($F5="Miks XXL",OR($G5="Miks M")),-4,IF(AND($F5="Miks XXL",OR($G5="Miks L")),-3,IF(AND($F5="Miks XXL",OR($G5="Miks XL")),-2,IF(AND($F5="Miks XXL",OR($G5="Miks XL PLUS")),-1,IF(AND($F5="Miks XXL",OR($G5="Miks XXL")),0,IF(AND($F5="Miks xXL",OR($G5="Super")),1,IF(AND($F5="Super",OR($G5="Prica plus")),-7,IF(AND($F5="Super",OR($G5="Miks S")),-6,IF(AND($F5="Super",OR($G5="Miks M")),-5,IF(AND($F5="Super",OR($G5="Miks L")),-4,IF(AND($F5="Super",OR($G5="Miks XL")),-3,IF(AND($F5="Super",OR($G5="Miks XL PLUS")),-2,IF(AND($F5="Super",OR($G5="Miks XXL")),-1,IF(AND($F5="Super",OR($G5="Super")),0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 

Gibt es eine Chance, dass diese Funktion kürzer und einfacher wird? Für jetzt funktioniert es perfekt, aber wenn es kürzer sein kann, wäre es viel besser. Wenn Zelle F5 ist Miks M und Zelle G5 ist Miks M schreibe 0 in H5, wenn G5 ist Miks L schreibe 1 in H5 und so weiter.

+2

*** Sicherlich erwarten Sie nicht, dass wir das wirklich entziffern !? Unterteilen Sie es in ein viel einfacheres Beispiel, das wir einfacher verdauen und eine Lösung für ... bereitstellen können, und dann erweitern wir die Lösung, die wir Ihnen geben, um die gesamte Formel abzudecken. – CallumDA

Antwort

0

Versuchen Sie, diese Formel

=MATCH(G5,{"Prica Plus","Miks S","Miks M","Miks L","Miks XL","Miks XL Plus","Miks XXL","Super"},0)-MATCH(F5,{"Prica Plus","Miks S","Miks M","Miks L","Miks XL","Miks XL Plus","Miks XXL","Super"},0) 

Above Formel in zwei Teile zerlegt werden kann. Zum einen passenden Cell G5 auf Ihre Werte

=MATCH(G5,{"Prica Plus","Miks S","Miks M","Miks L","Miks XL","Miks XL Plus","Miks XXL","Super"},0) 

Zweitens Cell H5 zu Ihren Werten entsprechen

=MATCH(F5,{"Prica Plus","Miks S","Miks M","Miks L","Miks XL","Miks XL Plus","Miks XXL","Super"},0) 

dann beide Werte subtrahiert wird.

+0

Das funktioniert auch, danke Mann. :) –

0

Das sieht wie ein Alptraum ... Wie auch immer, wenn Sie VBA verwenden können, versuchen die ganze Formel, so etwas zu umschreiben:

Option Explicit 

Public Function TryMe() As String 

    Select Case True 
     Case Range("F5") = "Miks M" Or Range("G5") = "Miks M" 
      TryMe = "MiksM" 
     Case Range("F5") = "MiksL" Or Range("G5") = "MiksL" 
      TryMe = "MiksL" 
     Case Else 
      TryMe = "Something Else" 
    End Select 

End Function 

Dann würden Sie nur =TryMe schreiben und Sie bekommen würde das Ergebnis.

+0

Wie können Sie überhaupt damit anfangen, eine Lösung anzubieten? Ehrlich gesagt, scheint VBA völlig unnötig zu sein, und da OP offensichtlich eine Anleitung mit einigen einfachen Arbeitsblattformeln benötigt, bezweifle ich, dass sie eine Vorstellung davon haben würden, was mit dieser Lösung zu tun ist. – CallumDA

+0

@CallumDA - 62 ifs scheint wie ein echter Schmerz. Daher dachte ich, dass VBA hier nützlich sein könnte. – Vityata

3

Erstellen Sie eine Tabelle mit Ihren Werten in etwa so aus:

enter image description here

Dann eine einfache SUMIFS Formel wird den Rest für Sie tun:

=SUMIFS($C$1:$C$4,$A$1:$A$4,$F5,$B$1:$B$4,$G5) 

Eine andere mögliche Lösung:

Wenn Sie nur versuchen, zu sehen sind, wie die Größen unterschiedlich sind Sie ein viel einfacheres geordnete Tabelle wie folgt erstellen konnte:

Prica Plus 
S 
M 
L 
XL 
XL PLUS 
XXL 
Super 

Und verwenden Sie eine Formel wie folgt aus:

=MATCH(SUBSTITUTE($G5,"Miks ",""),$A$1:$A$8,0)-MATCH(SUBSTITUTE($F5,"Miks ",""),$A$1:$A$8,0) 

Wo die Tabelle oben ist in A1:A8. Diese Formel entfernt "Miks" von den Werten, sodass nur die Größen verglichen werden. Genauer gesagt gibt es die Differenz der Positionen der zwei Größen in der Tabelle zurück.

+0

Dank CallumDA deine Lösung funktioniert für mich aber es gibt nur eine Sache, wenn du Miks M in Wert 1 hast und du hast leeren Wert 2 du hast Ergebnis 0. Kann das etwas anderes sein? –

Verwandte Themen