2016-09-09 8 views
0

次の一連のif文がありますが、引数が多すぎるというエラーが発生しています。私は同様の問題を抱えた他の投稿を確認しましたが、私の声明の中で問題を見ることはできません。セルB2は数月含まれている基本的にあれば、私はそれが特定のスプレッドシートにVLOOKUPを実行する必要があります。Excel組み込みIF文 - 引数が多すぎます

=if(B2=1,VLOOKUP(G2,'[Jan_Agent Hierarchy.xls]Sheet1'!$L$1:$U$4236,10,FALSE),if(B2=2,VLOOKUP(G2,'[feb_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$2:$U$4214,10,FALSE), if(B2=3,vlookup(G2,'[mar_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), if(B2=4,VLOOKUP(G2,'[apr_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE),if(B2=5,'[may_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4234,10,FALSE),if(B2=6,VLOOKUP(G2,'[jun_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4310,10,FALSE),if(B2=7,VLOOKUP(G2,'[jul_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4322,10,FALSE),if(B2=8,VLOOKUP(G2,'[aug_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4288,10,FALSE))))) 

答えて

0

私はこの1つのように、ネストされた関数の地獄で立ち往生したとき、私は式を分割したいですいくつかの空白。それは非常に簡単な問題をスポッティングます:

=if(
    B2=1, 
    VLOOKUP(G2,'[Jan_Agent Hierarchy.xls]Sheet1'!$L$1:$U$4236,10,FALSE), 
    if(
     B2=2, 
     VLOOKUP(G2,'[feb_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$2:$U$4214,10,FALSE), 
     if(
      B2=3, 
      vlookup(G2,'[mar_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), 
      if(
       B2=4, 
       VLOOKUP(G2,'[apr_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), 
       if(
        B2=5, 
        '[may_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4234,10,FALSE), 
        if(
         B2=6, 
         VLOOKUP(G2,'[jun_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4310,10,FALSE), 
         if(
          B2=7, 
          VLOOKUP(G2,'[jul_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4322,10,FALSE), 
          if(
           B2=8, 
           VLOOKUP(G2,'[aug_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4288,10,FALSE) 
          ) 
         ) 
        ) 
       ) 

私はあなたが3つの閉じ括弧が欠落していると、引数「trueの場合、値」あなたB2=5if文が第二でVLOOKUPが欠落している、コメントで述べたように。

代わりに試してみてください。

=if(
    B2=1, 
    VLOOKUP(G2,'[Jan_Agent Hierarchy.xls]Sheet1'!$L$1:$U$4236,10,FALSE), 
    if(
     B2=2, 
     VLOOKUP(G2,'[feb_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$2:$U$4214,10,FALSE), 
     if(
      B2=3, 
      vlookup(G2,'[mar_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), 
      if(
       B2=4, 
       VLOOKUP(G2,'[apr_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), 
       if(
        B2=5, 
        Vlookup('[may_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4234,10,FALSE), 
        if(
         B2=6, 
         VLOOKUP(G2,'[jun_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4310,10,FALSE), 
         if(
          B2=7, 
          VLOOKUP(G2,'[jul_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4322,10,FALSE), 
          if(
           B2=8, 
           VLOOKUP(G2,'[aug_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4288,10,FALSE) 
          ) 
         ) 
        ) 
       ) 
      ) 
     ) 
    ) 

または:

=if(B2=1,VLOOKUP(G2,'[Jan_Agent Hierarchy.xls]Sheet1'!$L$1:$U$4236,10,FALSE),if(B2=2,VLOOKUP(G2,'[feb_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$2:$U$4214,10,FALSE), if(B2=3,vlookup(G2,'[mar_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE), if(B2=4,VLOOKUP(G2,'[apr_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4262,10,FALSE),if(B2=5,Vlookup('[may_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4234,10,FALSE),if(B2=6,VLOOKUP(G2,'[jun_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4310,10,FALSE),if(B2=7,VLOOKUP(G2,'[jul_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4322,10,FALSE),if(B2=8,VLOOKUP(G2,'[aug_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$4288,10,FALSE)))))))) 

最後に、あなたの代わりに、ネストされたIFのINDIRECT()への切り替えを検討する必要があります。独自の権利で醜いですが、ネストされたif()地獄のあなたを取得します

=vlookup(G2, INDIRECT("[" & TEXT(DATE(2000,B2,1),"mmm")) & "_Agent Hierarchy.xls]Agent Hierarchy Details'!$L$1:$U$5000"), 10, False) 

:あなたの全体の式はに減少させることができます。 Indirect()は、文字列を範囲に変更します。 B2の数字を使用して月の省略形を決定し、それを使用してシートと範囲を参照します。Indirect()。次に、その範囲でvlookupを実行します。

この変更の警告の1つは、Janファイルに入り、他の月ファイルと同じようにSheet1タブ名をAgent Hierarchy Detailsに変更することです。この変更に関する素晴らしい点の1つは、新しい月のワークブックが追加されると、数式が自動的にそれらを取得するということです。

関連する問題