2017-12-11 10 views
0

値を違法にするIF式を使用するために、行から数値の形式を取る式を作成しようとしています。すべてのセルが等しい場合は「いいえ」。IF()複数のセルが "TRUE"の場合、範囲内の数値だけを取る

ここに私のファイルの抜粋を参照してください。

enter image description here

を私が午前問題は、式は非常にすべての、まだ空白のセル(なし形式)を取り、式でそれらをカウントしているということです私の価値は「はい」です。どのように私の数式は各行のためにそれらの中に番号を持っているセルから計算することができますか? IFNUMBER()、IFEXTY()などを試しましたが、これらを正しく使用しているかどうかはわかりません。私の公式に入れ子になった。私は各行の空白を無視する必要があります。

注:番号の値でセルを取得する必要があります。数値の値を持たない行の値の内容をクリアしました。

=IFERROR(IF(AND(ROUND($E2,3)=ROUND($F2,3),ROUND($F2,3)=ROUND($G2,3),ROUND($G2,3)=ROUND($H2,3),ROUND($H2,3)=ROUND($I2,3),ROUND($I2,3)=ROUND($J2,3),ROUND($J2,3)=ROUND($K2,3),ROUND($K2,3)=ROUND($L2,3),ROUND($L2,3)=ROUND($M2,3),ROUND($M2,3)=ROUND($N2,3)),"No","Yes"),"") 

注:これは空白を取り、それらをカウントしている(上から述べたように)ここで

は、私が現在持っている方程式です。列に異なる数値がある場合は「はい」を、数値の差がない場合は「いいえ」を生成する必要があります。現在、列の空白を数えているため、常に「はい」を生成しています。

私は、コードから次ているだけでなく、VBAソリューションに開いていますが、私は唯一の番号の形式を探すために、行ごとに範囲を設定する方法がわからない:

ここに私のVBAコードがあります:

Dim arng As Range 
Dim aworkrng As Range 
Dim brng As Range 
Dim bworkrng As Range 
On Error Resume Next 
Set aworkrng = Range("O2:O1550") 
Set bworkrng = Range("E2:N1550") 
Set brng = Range("E2:N2") 
On Error Resume Next 

For Each arng In aworkrng 

     If Not IsEmpty(brng.Value) Then 

arng.Formula = _ 
    "=IFERROR(IF(AND(ROUND(RC5,3)=ROUND(RC6,3),ROUND(RC6,3)=ROUND(RC7,3),ROUND(RC7,3)=ROUND(RC8,3),ROUND(RC8,3)=ROUND(RC9,3),ROUND(RC9,3)=ROUND(RC10,3),ROUND(RC10,3)=ROUND(RC11,3),ROUND(RC11,3)=ROUND(RC12,3),ROUND(RC12,3)=ROUND(RC13,3),ROUND(RC13,3)=ROUND(RC14,3)),""No"",""Yes""),"""")" 
Range("O3").Select 

End If 

Next 

誰もが私にこれを助けることができれば、私はそれを感謝します!

+0

あなたはVALUEでセル参照をラップしてみましたか? – Liss

答えて

1

試してみてください。

=IF(MIN(E2:N2)=MAX(E2:N2),"No","Yes") 
+1

これのバリエーションが働いて、ありがとう! – johnpauljones

関連する問題