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

ExcelマクロVBAとエクセル関数についての私的雑感
最終更新日: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 ・・・新着記事一覧を見る

エクセル試験3:月間の所定労働時間|エクセル練習問題(2023-10-04)
エクセル試験2:所得税の計算|エクセル練習問題(2023-10-04)
エクセル試験1:曜日別の平均客単価|エクセル練習問題(2023-10-04)
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)


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

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




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


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



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