よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

ツリー一括表示

Nomal IF関数入れ子 /朝日山 (20/09/14(Mon) 23:58) #13471
Nomal Re[1]: IF関数入れ子 /よねさん (20/09/15(Tue) 11:18) #13472
  └Nomal Re[2]: IF関数入れ子 /朝日山 (20/09/15(Tue) 22:31) #13473
    └Nomal Re[3]: IF関数入れ子 /よねさん (20/09/16(Wed) 07:57) #13474
      └Nomal Re[4]: IF関数入れ子 /朝日山 (20/09/16(Wed) 22:03) #13475


親記事 / ▼[ 13472 ]
■13471 / 親階層)  IF関数入れ子
□投稿者/ 朝日山 -(2020/09/14(Mon) 23:58:40)
    こんばんは、いつもお世話になっております。
    
    Excel2003で以前質問した時の表を変えて
    
       A      B         C     D 
     (コード)  (部門)      (エリア)  (所属店舗)    
    1   1100    本店レストラン  東京都中央区   本店
    2  1110    本店カフェ    東京都中央区   本店
    3  1200    本店物販        東京都中央区   本店
    4  2100    B店レストラン  東京都中央区   B店
    5  2200    B店物販     東京都中央区   B店
        
    (以下略)
    
    とし、そこから別シートに、VLOOKUPを使ってC2・F2にコード入力で
      C   (略)    F
     やりとり元     やりとり先
    2 1100     →  1200
    3 本店レストラン → 本店物販
    4 本店     →  本店
    5 東京都中央区 →  東京都中央区
    
    と食材や物のやりとり記録をした表を作り、さらに
    本店レストラン→本店カフェ・C店レストラン→C店カフェのように同店レストラン→カフェは1
    本店レストラン→本店物販・B店レストラン→B店物販のように同店レストラン→物販は2
    本店⇔B店の同エリア同士は3と
    
    =IF(ISBLANK($C$2),"",IF($C$4=$F$4,"1",IF($C$5=$F$5,"2","3")))
    とまた別のセル(仮にT2セル)に出るようにしましたが、ここに更に条件を足して
    やりとり元に物販部門が来た場合T2セルに「A」と出るようにしたいです。
    MID関数を利用して
    IF(MID(F2,2,1)="2"),"A")))
    とか入れようとしていますが、「この関数に対して多すぎる引数が入力されています」とメッセージが出てうまくいきません。
    
    長くなってしまいましたが、よろしくお願いいたします。	
    

[ □ Tree ] 返信/引用返信 削除キー/

▲[ 13471 ] / ▼[ 13473 ]
■13472 / 1階層)  Re[1]: IF関数入れ子
□投稿者/ よねさん -(2020/09/15(Tue) 11:18:27)
    > 「この関数に対して多すぎる引数が入力されています」とメッセージが出てうまくいきません。
    数式 =IF(MID(F2,2,1)="2"),"A"))) でこのエラーを回避するには
    =IF(MID(F2,2,1)="2","A") とすれば良さそうです。
    

[ 親 13471 / □ Tree ] 返信/引用返信 削除キー/

▲[ 13472 ] / ▼[ 13474 ]
■13473 / 2階層)  Re[2]: IF関数入れ子
□投稿者/ 朝日山 -(2020/09/15(Tue) 22:31:21)
    こんばんは。回答ありがとうございます。ただ、
    =IF(ISBLANK($C$2),"",IF($C$4=$F$4,"1",IF($C$5=$F$5,"2","3")))
    の式に、書いていただいた
    IF(MID(F2,2,1)="2","A")
    をくっつけるにはどうすればいいでしょうか?末尾にくっつけて
    =IF(ISBLANK($C$2),"",IF($C$4=$F$4,"1",IF($C$5=$F$5,"2","3")),IF(MID(F2,2,1)="2","A")))
    みたいにしてもまた「この関数に対して多すぎる引数が〜」が出てしまいます。
    言葉が足らずに申し訳ありませんが、またよろしくお願いいたします。
[ 親 13471 / □ Tree ] 返信/引用返信 削除キー/

▲[ 13473 ] / ▼[ 13475 ]
■13474 / 3階層)  Re[3]: IF関数入れ子
□投稿者/ よねさん -(2020/09/16(Wed) 07:57:33)
    2020/09/16(Wed) 10:50:42 編集(投稿者)
    お書きの数式は下のように[Alt]+[Enter]で改行することができます。
    数式バーの高さを変えて表示すると、IF関数のネストがどうなっているかが少しわかりやすくなります。
    数式内にカーソルを表示すると、「関数のヒント」が表示されますので、引数がどの部分かがわかるようになって便利です。
    
    =IF(ISBLANK($C$2),"",
    IF($C$4=$F$4,"1",
    IF($C$5=$F$5,"2","3")      ←ここでIF関数は完結しています。IF(論理式,真の場合,偽の場合)
    ),IF(MID(F2,2,1)="2","A"))) ←意味のない付け足しになっています。
    
    
    
    1,2,3 とする条件より、A とする条件を前に持ってくるのではいかがでしょうか?
    すべて、IF関数の引数「偽の場合」のところにIF関数が入っています。
    
    =IF(ISBLANK($C$2),"",
    IF(MID(F2,2,1)="2","A",
    IF($C$4=$F$4,"1",
    IF($C$5=$F$5,"2","3"))))
    
    (追加)
    Excel2019,Microsoft365をお使いでIFS関数が使える場合は以下の数式でもよろしいと思います。
    =IFS(ISBLANK($C$2),"",MID(F2,2,1)="2","A",$C$4=$F$4,"1",$C$5=$F$5,"2",TRUE,"3")
    
    以上です。

[ 親 13471 / □ Tree ] 返信/引用返信 削除キー/

▲[ 13474 ] / 返信無し
■13475 / 4階層)  Re[4]: IF関数入れ子
□投稿者/ 朝日山 -(2020/09/16(Wed) 22:03:26)
    こんばんは。
    教えて頂いた通りで成功しました。
    数式バーとIFSの使い方も参考になりました。
    数式バーは今後他の関数で入れ子する時にも活用しようと思います。
    本当にありがとうございます!!
[ 親 13471 / □ Tree ] 返信/引用返信 削除キー/


Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -