• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL(関数)について、教えてください。)

EXCEL(関数)で見積書の決裁条件を設定する方法

このQ&Aのポイント
  • EXCELの関数を使って見積書の決裁条件を自動設定する方法を教えてください。
  • 具体的には、見積金額と利益率に基づいて課長決裁、部長決裁、社長決裁といった文字列を特定のセルに表記したいです。
  • マクロを使わずに関数だけで実現する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.5

9個も条件があると、IF文のネスト制限にひっかかる可能性があります。 別表を作成して、その表から決裁者を引く形にしてはいかがでしょうか。 添付画像の「決裁者」(H4)の式は =VLOOKUP($H$2,$A$2:$E$6,MATCH($H$3,$A$1:$E$1)) です。

ukiukivike
質問者

お礼

非常に分かりやすかったです。解説図付きで丁寧な回答ありがとうございました

その他の回答 (5)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

シート1のA列で例えばA1セルに見積金額、B列でB1セルに利益率を入力するとしてC1セルには次の式を入力します。 =INDEX(Sheet2!$A$1:$E$6,MATCH(A1,Sheet2!$A$1:$A$6,1),MATCH(B1,Sheet2!$1:$1,1)) シート2ではB1セルに0、C1セルに0.03、D1セルに0.05、E1セルに0.08と入力します。 A2セルには0、A3セルには100、A4セルには300、A5セルには500、A6セルには2000と入力します。 その他は以下のようにします。 0 0.03 0.05 0.08 0 課長決済 課長決済 課長決済 課長決済 100 部長決済 部長決済 課長決済 課長決済 300 社長決済 部長決済 部長決済 課長決済 500 社長決済 社長決済 部長決済 部長決済 2000 社長決済 社長決済 社長決済 社長決済

ukiukivike
質問者

お礼

回答ありがとうございます! 上記の通り一覧表にしてみたら条件が非常にわかりやすくなりました。 早速やってみます。

回答No.4

9個以上の条件があるのならif関数の羅列はありません。関数のネス トは7個までですからね。だいたいそんなもの、書けたとしても見渡 しが悪くて、条件変更がヒドく面倒なモノになります。 基本はlookup関数やmatch関数といった検索関数の組み合わせでしょ う。たとえば縦に金額、横に利益率の表を作り、交差したセルの内 容をかえすようにするんです。その際に、基準を「未満」ではなく 「以上」で考えて下さい。それがExcelの検索関数の発想です。      0%  3%  5%  8%    0 課長 課長 課長 課長   100 部長 課長 課長 課長   300 社長 部長 部長 課長   500 社長 社長 部長 部長   2000 社長 社長 社長 社長 これなら判りやすいですよね。名前の定義を駆使すればたとえば、 =lookup(A1,金額,hlookup(B1,利益率,1))なんてシンプルに書けたり もします。

ukiukivike
質問者

お礼

回答ありがとうございました。 皆さんの例を扱えるようになったら、このように分かりやすくシンプルにする技も 覚えたいです。 早速やってみます。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.3

9つの条件をすべて提示して、回答を求めた方が良いと思います。論理条件をうまく整理しないと関数のネスト条件等に制限されます。 質問のないようでも以上、以下の使い方が不適切です。以上の対語は未満、以下の対語は超えるなどです。丁度条件の境界がダブっています。 例えば、図示して整理するなどされたらどうでしょうか?

ukiukivike
質問者

お礼

回答ありがとうございます。 早速下記補足に全条件を提示させて頂きました。 宜しくお願いします。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

利益率5%の分岐点が不明ですが、提示された部分だけを数式にするなら以下のようなIF関数になります(IF関数を作成するときのポイントはだんだん条件を広げていく順に絞り込む形で数式を作成します)。 =IF(A1<1000000,"課長決裁",IF(A1<3000000,IF(B1<0.03,"社長決裁",IF(B1<0.05,"部長決裁","課長決裁")),"300万以上")) 300万以上の部分にさらに条件があるなら「"300万以上"」の部分をさらにIF関数で分岐してください。

ukiukivike
質問者

お礼

詳細説明ありがとうございました!! 何となく出来そうです、早速試してみます!

ukiukivike
質問者

補足

ちなみに全ての条件を羅列しますと下記の通りとなります。 IFの条件文が途中から分かりづらく、例文頂けますでしょうか? 100万円未満のときは「課長決済」 300万円未満で利益率が5%以上のときは「課長決済」 300万円未満で利益率が5%未満のときは「部長決済」 500万円未満で利益率が8%以上のときは「課長決済」 500万円未満で利益率が8%未満のときは「部長決済」 500万円未満で利益率が3%未満のときは「社長決済」 2,000万円未満で利益率が5%以上のときは「部長決済」 2,000万円未満で利益率が5%未満のときは「社長決済」 2,000万円以上のときは「社長決済」

noname#198951
noname#198951
回答No.1

条件なので、IF文のネストで。 同じ条件が続くなら(今回の100万以上、300万未満など)、まとめられると思うけど。

ukiukivike
質問者

お礼

早速の回答ありがとうございます! IFかな~とはおもいつつ、どのような条文(?)になるか分からなかったので …。

関連するQ&A