2016-11-19 9 views
1

私はExcelファイルに少し問題があります。if-countif以上7

この関数は、選択したセルに別の値(文字列)が含まれている場合に値を返します。これは完全に機能します。しかし、私は20/countifを追加すると、それは私が7以上を得ることができない原因仕事をdoesnt。 その問題を簡単に解決するための任意のアイデア? 私は...また、あなたのExcelコードの下のVBAコードたくさん

=SI(NB.SI([@[ENTRY_LABEL]];"*MAZ*");"MAZ";SI(NB.SI([@[ENTRY_LABEL]];"*MGN*");"MGN";SI(NB.SI([@[ENTRY_LABEL]];"*Magnitude*");"MGN";SI(NB.SI([@[ENTRY_LABEL]];"*AJU*");"AJU";SI(NB.SI([@[ENTRY_LABEL]];"*Reclas*");"Reclass";""))))) 

VBAコード助けるため

おかげ与える:この場合

Range(ActiveCell, ActiveCell.End(xlDown)).SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*MAZ*""),""MAZ"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*MGN*""),""MGN"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*Magnitude*""),""MGN"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*AJU*""),""AJU"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*Reclas*""),""Reclass"","""")))))" 

答えて

0

を、あなたは、VBAを使用することができます式。単にモジュールレベルでは、Visual Basic Editorでこのような何かを書く:

Public Function many_ifs(my_cell As Range) As String 

Select Case my_cell.Value 

    Case 1 
     many_ifs = "one" 

    Case 2 
     many_ifs = "two" 

    Case 3 
     many_ifs = "three" 

    Case 4 
     many_ifs = "four" 

    Case Else: 
     many_ifs = "Unknown" 

End Select 

End Function 

を次に、このような通常の式としてExcelからそれを呼び出す:ここ

enter image description here

が開始する方法でありますVBA: https://msdn.microsoft.com/en-us/library/office/ee814737(v=office.14).aspx

+1

回答ありがとうございます。 – jmten

+0

ありがとうございます!あなた自身の方法で数式を修正できることを嬉しく思っています! :) – Vityata

+0

@Vityata私の編集の言い訳ですが、ちょうどそれをきれいにし、より短くしてください –

1

最後にこれを使用して動作します。

Public Function cat1_0lia(my_cell As Range) As String 

    Dim result As String 

    Select Case True 

    Case my_cell.Value Like "*MAZ*": 
    result = "MAZ" 
    Case my_cell.Value Like "*Maz*": 
    result = "MAZ" 
    Case my_cell.Value Like "*maz*": 
    result = "MAZ" 
    Case my_cell.Value Like "*Mis à 0*": 
    result = "MAZ" 

    Case my_cell.Value Like "*Mgn*": 
    result = "MGN" 
    Case my_cell.Value Like "*MGN*": 
    result = "MGN" 
    Case my_cell.Value Like "*Magnitude*": 
    result = "MGN" 

    Case my_cell.Value Like "*AJU*": 
    result = "AJU" 
    Case my_cell.Value Like "*Aju*": 
    result = "AJU" 
    Case my_cell.Value Like "*aju*": 
    result = "AJU" 


    Case my_cell.Value Like "*RECLASS*": 
    result = "RECLASS" 
    Case my_cell.Value Like "*Reclass*": 
    result = "RECLASS" 
    Case my_cell.Value Like "*reclass*": 
    result = "RECLASS" 

    Case Else: 
    result = "" 


    End Select 

    cat1_0lia = result 

End Function 
関連する問題