プロが教えるわが家の防犯対策術!

エクセルで取引先への支払いの際の、銀行振り込み手数料をエクセルで自動計算したいのですが、なかなかうまくいきません。
どうかご教示ください。

         3万円未満 3万円以上 10万円以上
同一店内宛    105円    105円    420円
他支店宛      105円    315円    525円
他行宛       420円    630円    840円

振込先(同一店内宛、他支店宛、他行宛)はリストから選択するように設定しています。

B列    C列      D列     E列
振込先 振込金額  手数料  振込手数料込金額

また振込金額が10万円以上の振込み手数料込金額を計算する関数もご教示いただけると幸いです。
よろしくお願いいたします。

A 回答 (5件)

別解として。



別のシート(Sheet2とする)のA1:D4に

>         3万円未満 3万円以上 10万円以上
>同一店内宛    105円    105円    420円
>他支店宛      105円    315円    525円
>他行宛       420円    630円    840円

これと同じ表を作ります。
ただし、B1:D1セルの「3万円未満」「3万円以上」「10万円以上」はそれぞれ「0」「30000」「100000」に置き換えてください。
それと、B2:D4セルの手数料からは「円」を外してください。

この表をB列の振込先とC列の振込金額で検索する式です。

=INDEX(Sheet2!$B$2:$D$4,MATCH(B2,Sheet2!$A$2:$A$4,FALSE),MATCH(C2,Sheet2!$B$1:$D$1,TRUE))

INDEX関数は
=INDEX(範囲,行番号,列番号)
で、範囲内の指定の行・列の値を返します。

MATCH関数は
=MATCH(検索値,検索範囲,[検索の型])
で、検索値が検索範囲の何番目にあるかを返します。
検索の型はTRUEかFALSE(1か0)で指定します。
TRUEまたは1の場合は、検索値以下の最大の値を検索します。(検索範囲の値は昇順に並んでいる必要があります)
FALSEまたは0の場合は、検索値と完全に一致する値を検索します。(なければ#N/Aエラー)

参考URL:http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
    • good
    • 3

シート1がお求めの表としてシート2には宛先と振込手数料の関係を表にしておきます。


シート2のA2セルからA4セルには振込先を、B1セルには0を、C1セルには30000を、D1セルには100000をそれぞれ入力します。その後に振込先と金額に関する手数料をお示しの表のように入力します。
シート1のD2セルには次の式を入力します。

=IF(C2="","",VLOOKUP(B2,Sheet2!A:D,MATCH(C2,Sheet2!$1:$1,1),FALSE))

E2セルには次の式を入力します。

=IF(D2="","",C2+D2)
    • good
    • 0
この回答へのお礼

ありがとうございます。
MATCH関数は知りませんでした。
勉強になりました。

お礼日時:2013/03/05 10:25

こんにちは!


一例です、

↓の画像で上側がSheet1で下側がSheet2だとします。
Sheet2に画像のような感じで表を作成しておきます。
(未満の列は不要ですが、判りやすくするために表示しています)

Sheet1のD2セルに
=IF(COUNTBLANK(B2:C2),"",VLOOKUP(C2,Sheet2!$A$2:$E$4,MATCH(B2,Sheet2!$A$1:$E$1,0),1))
という数式を入れオートフィルで下へコピー!
これで画像のような感じになります。

※ E列は単にC・D列の合計です。m(_ _)m
「銀行の振込み手数料をエクセルで自動計算し」の回答画像3
    • good
    • 1
この回答へのお礼

画像まで添付くださってありがとうございます。
VLOOKUPでもできるのですね。

お礼日時:2013/03/05 10:23

D2セルに、


=IF(B2="同一店内宛",IF(C2<=0,0,IF(C2<30000,105,IF(C2<100000,105,420))),IF(B2="他支店宛",IF(C2<=0,0,IF(C2<30000,105,IF(C2<100000,315,525))),IF(C2<=0,0,IF(C2<30000,420,IF(C2<100000,630,840)))))

E2セルに、
=C2+D2

でいかがでしょう。
    • good
    • 2
この回答へのお礼

ありがとうございます。
複雑で長い関数になってしまうのですね。
表示されました。

お礼日時:2013/03/05 10:22

マイクロソフトのCommunity(Microsoft AnswersQ&A)


で質問されたほうがマイクロソフトから正確な回答が得られると思います
こちらです
http://answers.microsoft.com/ja-jp?lc=1041&auth=
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています