# Excelのフォーミュラの場合は、複雑なものをデバッグできますか？ -- excel フィールド と if-statement フィールド と excel-formula フィールド と formulas フィールド 関連 問題

## How can I debug my complex IF Excel formula?

-1

### 問題

<コード> =IF(H3="SUR",IF(Subject!C3<2.7,"Not on track",IF(Subject!C3<=3.29,"On track",IF(Subject!C3>=3.3,"Above", IF(H3="MAS",IF(Subject!C3<2.2,"Not on track",IF(Subject!C3<=2.79,"On track",IF(Subject!C3>=2.8,"Above", IF(H3="EXP",IF(Subject!C3<1.7,"Not on track",IF(Subject!C3<=2.29,"On track",IF(Subject!C3>=2.3,"Above",IF(H3="EM3",IF(Subject!C3<1.2,"Not on track",IF(Subject!C3<=1.79,"On track",IF(Subject!C3>=1.8,"Above", IF(H3="EM2",IF(Subject!C3<0.7,"Not on track",IF(Subject!C3<=1.29,"On track",IF(Subject!C3>=1.3,"Above",IF(H3="EM1",IF(Subject!C3<0.23,"Not on track",IF(Subject!C3<=0.42,"On track",IF(Subject!C3>=0.43,"Above"))))))))))))))))))))))))

I am a school teacher and am developing my school's assessment system. What should I do to correct this formula?

`=IF(H3="SUR",IF(Subject!C3<2.7,"Not on track",IF(Subject!C3<=3.29,"On track",IF(Subject!C3>=3.3,"Above", IF(H3="MAS",IF(Subject!C3<2.2,"Not on track",IF(Subject!C3<=2.79,"On track",IF(Subject!C3>=2.8,"Above", IF(H3="EXP",IF(Subject!C3<1.7,"Not on track",IF(Subject!C3<=2.29,"On track",IF(Subject!C3>=2.3,"Above",IF(H3="EM3",IF(Subject!C3<1.2,"Not on track",IF(Subject!C3<=1.79,"On track",IF(Subject!C3>=1.8,"Above", IF(H3="EM2",IF(Subject!C3<0.7,"Not on track",IF(Subject!C3<=1.29,"On track",IF(Subject!C3>=1.3,"Above",IF(H3="EM1",IF(Subject!C3<0.23,"Not on track",IF(Subject!C3<=0.42,"On track",IF(Subject!C3>=0.43,"Above"))))))))))))))))))))))))`

The result is dependent upon what is entered within H_, and each category has specific ranges.

</div

## 回答リスト

3

コメントで言ったように、テーブルを作成します。

<事前> <コード> =INDEX(O:O,MATCH(C3,IF(\$M\$1:\$M\$18=H3,\$N\$1:\$N\$18)))

ハードコード式を変更することなく、基準と出力の変更を許可します。

As was said in the comments, create a table:

Then you would use the following Array formula:

``=INDEX(O:O,MATCH(C3,IF(\$M\$1:\$M\$18=H3,\$N\$1:\$N\$18))) ``

Being an array formula it needs to be confirmed with Ctrl-Shift-Enter instead of Enter when exiting edit mode. If done correctly Excel will put `{}` around the formula.

Each group needs to be together and in ascending order for this method to work.

It does allow the change of criteria and output without changing the hard coded formula.

</div

2

これは3つのステップで自分自身を助ける方法です。

ステップ1 - 数式バーを拡大するため、1行以上が含まれています。 ステップ2 - alt + を使用して、式を理解できるようにするには、を入力します。 > ステップ3 - Excelリボンの場合、` Formulas `＆gtに進みます。 <コード> Evaluate Formula とEvaluateを押します。

Step 1 - Enlarge the formula bar so it contains more than 1 row: Step 2 - Use Alt+Enter to make the formula understandable: Step 3 - On the Excel ribbon, go to `Formulas` > `Evaluate Formula` and press evaluate:

Good luck, have fun! :)

</div

1

テキストルックアップが正確で、数ルックアップが概略なので、2つの別々のルックアップであるべきです。たとえば、範囲` A1:D6 `

の範囲でこれを持っている場合 <事前> <コード> EM1 0.23 0.43 Exp EM2 0.7 1.3 2 EM3 1.2 1.8 EXP 1.7 2.3 MAS 2.2 2.8 SUR 2.7 3.3

その後` =VLOOKUP("EXP",A1:C6,2,0) `は1.7と<コード> =VLOOKUP("EXP",A1:C6,3,0) で、2.3

の結果です。 <事前> <コード> =IF(D2 < VLOOKUP(D1, A1:C6, 2, 0), "Not on track", IF(D2 < VLOOKUP(D1, A1:C6, 3, 0), "On track", "Above"))

"

It should be two separate lookups, because the text lookup is exact and the number lookup is approximate. If for example if you have this in the range `A1:D6` :

``EM1     0.23    0.43    Exp EM2     0.7     1.3     2 EM3     1.2     1.8 EXP     1.7     2.3 MAS     2.2     2.8 SUR     2.7     3.3 ``

Then `=VLOOKUP("EXP",A1:C6,2,0)` results in 1.7 and `=VLOOKUP("EXP",A1:C6,3,0)` in 2.3

``=IF(D2 < VLOOKUP(D1, A1:C6, 2, 0), "Not on track",  IF(D2 < VLOOKUP(D1, A1:C6, 3, 0), "On track", "Above")) ``

</div

## 関連する質問

-1  Excelのフォーミュラの場合は、複雑なものをデバッグできますか？  ( How can i debug my complex if excel formula )

1  新しい答えが入力されたときに、Google Sheetsが自分の式で行をスキップするのをやめるにはどうすればよいですか。  ( How do i stop google sheets skipping a row with my formula when a new answer is )

0  各2つのセルをチェックするためのExcelの式に隣接するものが一致しています  ( Excel formula to check each two cells neighbours have a match )

6  2つの列を比較し、Excelで特定の隣接セルを返す  ( Comparing two columns and returning a specific adjacent cell in excel )
if 、<コード>、<コード>、<コード> match 、<コード> iserror 、<コード>機能>関数、そして残念ながらI 'の組み合わせを使用しています。正しい式を見つけることができなかった。 一致する2列の比較は十分に簡単です。タフな部分は、一致...

0  Googleシートセルに数字のそれぞれ発生を数える式  ( Formula to count each occurence of a number in a google sheet cells )
このテーブルを持っている; 範囲内の数字のそれぞれの出現を見つけることができる式が必要です。 現在この式を持っていますが、必要に応じて機能しません：（ <事前> <コード> =ArrayFormula(QUERY({A1:F10,LEN(A1:F...

1  どのようにしてExcelで2回最高の時間をどのようにしていますか  ( How do you average times the best two times in excel )

0  複数の基準と複数のデータフレームを使用したPython Pandas Countif  ( Python pandas countifs using multiple criteria and multiple data frames )

0  テキストとして日付を計算するための式  ( Formula to calculate date as text )
オンラインで、フォーラムで検索しましたが、このための解決策が見つかりません。 計算されたフィールドを使用してSharePointリストのテキストとして日付を計算したいです。 下記の式とうまく計算するように機能しますが、この「2018-07-06T22：00：0...

0  変化するピボットテーブルアレイのアレイに配列をリンクする  ( Linking a formula to a changing pivot table array excel )

1  Google Sheets Phoremsの式は、別のセル値に基づいてセル値を変更する  ( Google sheets formula to change a cells value based on another cells value )