ツイッター出題回答
振込手数料を先方負担にした時の振込金額と手数料の算出

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2022-09-01 最終更新日:2022-09-01

振込手数料を先方負担にした時の振込金額と手数料の算出


ツイッターで出したエクセルの問題です。


振込手数料を先方負担とした場合の振込金額と手数料を算出する問題です。
3万円で手数料が変わる場合、
3万円を少しだけ超えた金額では、3万円以上の時の手数料を引くと3万円未満になってしまい、当初の手数料と違ってきてしまいます。
手数料はなるべく安く、振り込む金額はなるべく多く
こうなるように数式を組む問題です。


出題ツイート

出題ツイートへのリンク

【エクセル問題】※手数料ってなんやねん編
この会社では振込手数料を先方負担としています。
つまり手数料を引いた残額を振り込みます。
そこで問題が、3万円を少し超えた金額のときががが…
手数料は少なく、振込金額は多く
これが人情と言うものですね。
C4,D4以下の数式を作成してください。

Excel エクセル問題 振込手数料 先方負担


これで良いのですよね。
たぶん問題見た人は雰囲気では理解してもらっていると思うのですけど・・・
29,999にする仕様にしたから難しくしてしまったか。

Excel エクセル問題 振込手数料 先方負担


引用リツイートでの回答

出題者としての解答

解答ツイートへのリンク

出題時には上手くまとめれば短めの数式になるかと思ったのですが・・・
なかなかどうして、簡単にはいかないようです。
とりあえず順に書いていくだけですと、かなり長い数式になってしまいます。
数式の書き方もどこから手を付けるかで大分変りそうです。


私は手数料を先に計算してみました。
D4セル
=INDEX($G$4:$H$5,(A4<>$B$1)+1,(B4>=30000+INDEX($G$4:$H$5,IF(A4=$B$1,1,2),2))+1)
一度数式を書いて、その後に見直して少しでも式を短くしてみたのですが、それでも結構長い数式ですよね。


手数料が決まれば振込金額は引けば良い・・・
なんて簡単にはいかないようです。
30000~30110このあたりの金額で、さらに判定を入れないと正しい金額になりません。
=IF(D4<>INDEX($G$4:$H$5,(A4<>$B$1)+1,(B4>=30000)+1),MIN(29999,B4-D4),B4-D4)


せっかくここまでやったので、スピル1発で入れてみました。
基本的にはLETでまとめれば良いのですが、MIN関数が使えない・・・
もう完全に無理やりスピルさせただけです😅
※数式はALT

Excel エクセル問題 振込手数料 先方負担
=LET(
元銀行,B1,
先銀行,A4:A15,
金額,B4:B15,
マスタ,G4:H5,
手数料,INDEX(マスタ,(先銀行<>元銀行)+1,(金額>=30000+INDEX(マスタ,IF(先銀行=元銀行,1,2),2))+1),
振込額,IF(手数料<>INDEX(マスタ,(先銀行<>元銀行)+1,(金額>=30000)+1),IF((金額-手数料)<29999,金額-手数料,29999),金額-手数料),
HSTACK(振込額,手数料)
)


商習慣として先方負担にしている会社はあると思いますが、基本的には振り込む側が手数料を負担したほうが、いろいろと面倒が少なくて良いと思います。




同じテーマ「ツイッター出題回答 」の記事

日付時刻のマイナス表示に対応する方法
一覧から複数条件(部分一致、範囲)に合致するデータを抽出する
構成比を合計しても100%にならないと言われた…
振込手数料を先方負担にした時の振込金額と手数料の算出
脱字メーカー(文字列から1文字削除)
リーグ表に対戦番号を振る
数列内の連続偶数のみ順序を入れ替える
ランクによりボイントを付ける(同順位はポイントを分割)
記号を繰り返してグラフ作成(10単位で折り返す)
Excel関数の引数を省略した場合について
シートコピー後のアクティブシートは何か


新着記事NEW ・・・新着記事一覧を見る

無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)
PIVOTBY関数(縦軸と横軸でグループ化して集計)|エクセル入門(2023-11-19)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ