プロが教える店舗&オフィスのセキュリティ対策術

私の会社が利用する銀行ではネット振込手数料が5万未満¥324、5万以上が¥432です。
振込必要額や入力額をエクセル2013で一覧にしていて、取引先によって手数料自社持ちだったり先方負担だったり、混在しています。

今のところ\324か¥432の表示はIFとORの関数でできているのですが、5万ちょっとの請求額で手数料先方持ちの場合、手数料を引いて振込額入力をする時¥5万を切る額になる場合に
表示通りの¥432ではなく¥324を引いた額でよかったのに、ということになってしまうので困っています。

現状は
C列に請求額、
D列に手数料負担する分け方として「当社」「引落とし」「同銀行」のいづれかの文字を入力するか「それ以外の文字か空白の場合」(基本相手先が負担の状態で計算する)、としました。
E列に手数料「=IF(OR(C2="",D2="引落とし",D2="同銀行"),0,IF(C2<50000,324,432))」
請求額が空白の時や、Dに「引き落とし」か「同銀行」と入力した場合は¥0、5万を境に¥324か¥432が表示 としています。
F列は振込の入力額として「=IF(D2="当社",C2,IF(D2="同銀行",C2,IF(D2="引落とし","",IF(C2="","",C2-E2))))」で
当社負担か同銀行間の振り込みならCの請求額そのまま、引落としの場合と請求額が空白の場合はFも空白に、それ以外は請求額から手数料を引いた数値を表示。

つまづいているのはEの関数で、
今の条件の
<請求額が空白の時や、Dに「引落とし」か「同銀行」と入力した場合は¥0、5万を境に¥324か¥432と表示>
に加えて
<Cが50000~50323でありDに「当社」以外の文字がある場合だけ¥324>
となるようにすればいいと考えているのですが(<「引落とし」と「同銀行」以外>という指定も必要?)
いろいろやったものの、うまくいきませんでした。

なんとか実現できないでしょうか?
どなたか知恵をお貸しください。よろしくお願いします。

質問者からの補足コメント

  • 早速のアドバイスありがとうございます。

    試してみましたが、仰る通りE列の後半をIF(C2<50324,324,432)とすると
    D列に手数料当社持ちの「当社」と入っている行では\50000の振込でも手数料¥324となってしまいます。
    文末挙げていただいた
    =IF(C2="","",IF(D2="当社",IF(C2<50324,324,432),0))とすると
    当社以外の場合すべてが\0となり、全件を処理しきれません。
    説明がわかりにくくてすみません。

    実際には振込作業を自分以外の人が担当するので
    負担先の部分にどんな社名や文字を入れてもいいように、それと振込額に間違いがないよう、
    一列同じ数式でうまくいかないものかと思っています。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/12/31 21:51
  • 元旦からすみません。
    今回は当社指定した答えが振込額にかかわらず\0手数料になってしまい、
    また、同銀行の場合一律手数料\324となりダメでした。

    問題のCが\5万~\50323の数値であり、相手持ち(Dが当社以外)の場合でEが\432と出た時は
    アラートを出して気をつけるといった”プランB”も考えてみましたが…すっきりしません(T_T)

    No.3の回答に寄せられた補足コメントです。 補足日時:2018/01/01 12:08
  • #4様のご回答、なんと!目から鱗の気持ちです。

    ですが数式以前に、気づかなかった問題がありました。

    手数料相手持ちで¥50323の請求の時は手数料324、実際の振込額が¥49999でOKですが
    ¥50324請求の時、手数料が¥432、引くと振込額が¥49892となり、5万切って手数料\324の枠に入ってしまいます。

    ¥50324の請求なんてめったにないとは思うのですが、
    Eの最後の部分をIF(C26<=50324,324,432)としてこちらで差額を持つ仕様にしておいた方がいいかと考えています。

    もちろんもしいい手があればご教授ください。

    しかし銀行では実際にこういう場合、客に聞かれたらどう答えているのでしょうね。別の疑問がわきました(^_^;

      補足日時:2018/01/04 15:18

A 回答 (5件)

あまり難しく考えない方がいいと思いますよ。



E2=IF(C2="","",IF(OR(D2="引落とし",D2="同銀行"),0,IF(D2="当社",IF(C2<50000,324,432),IF(C2<50324,324,432))))
(当社の場合と他社の場合を分けて考える)
F2=IF(C2="","",IF(D2="当社",C2,C2-E2))
(引落としや同銀行は、手数料0だから引いても関係ないという考え方です)

後は、50324円~50431円の場合、324円にするか、432円にするかによって、
C2<50324にするかC2<50432にするかになると思います。

でどうですか?
    • good
    • 0

#4です。


先ほど書きましたが、50324円~50431円の場合に
補足で書かれた現象がおきます。
この部分は、どちらかが負担する形にするしかないので、
自社で負担するなら
E2=IF(C2="","",IF(OR(D2="引落とし",D2="同銀行"),0,IF(D2="当社",IF(C2<50000,324,432),IF(C2<50432,324,432))))
になると思います。
    • good
    • 0
この回答へのお礼

なるほど!そういう意味でしたか!ちゃんと読みこまずにすみません。

補足を書き込んだ後で考えてみると、いやいや、「手数料先方持ちの時に~という条件で、」が先にある話だから
相手持ちでええんではないの、と落ち着きました。

当初調べだした時には同じ問題で困っている人が多くいるようで解決例は目にしませんでしたので、
100%解決はできない事なのかと思っていたのですが
正月早々、本当にありがとうございました。

お礼日時:2018/01/05 10:53

=IF(C2="","",IF(D2="当社",IF(C2<50324,324,432),0))とすると


当社以外の場合すべてが\0となり、全件を処理しきれません。
すみません。条件が逆だったでしょうか。
=IF(C2="","",IF(D2="当社",0,IF(C2<50324,324,432)))
かな??
この回答への補足あり
    • good
    • 0

NO1です。

失礼しました。最初の回答は無視して下さい。
現状の
「=IF(D2="当社",C2,IF(D2="同銀行",C2,IF(D2="引落とし","",IF(C2="","",C2-E2))))」
ですが
=IF(OR(C2="",D2="引落とし",D2="同銀行"),0,IF(C2<50000,324,432))
ですが、既に OR(C2="",D2="引落とし",D2="同銀行")の場合に 0ですので
=IF(C2="","",C2-E2) でも結果は同じではないでしょうか。

さて
<Cが50000~50323でありDに「当社」以外の文字がある場合だけ¥324>
ですが、「当社」以外の文字がある場合とは
=IF(OR(C2="",D2="引落とし",D2="同銀行"),0,IF(C2<50000,324,432))の式の
IF(C2<50000,324,432)の部分ですよね。
Cが50000~50323 という事は
IF(C2<50324,324,432)に変更した場合の値では違いが出るのでしょうか?

こちらの式も
=IF(C2="","",IF(D2="当社",IF(C2<50324,324,432),0))
と云った風には考えられませんか?
この回答への補足あり
    • good
    • 0
この回答へのお礼

随分前からこの問題は何とかならないかと思っていました。
色々と策をありがとうございます。いい勉強になりました。

お礼日時:2018/01/05 10:55

該当する文字が含まれるかの判断


>Dに「当社」以外の文字がある場合
CountIF関数と *(ワイルドカード)で試してみて下さい。
=COUNTIF("*当社*",D2) の結果を利用してみては?
    • good
    • 0

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

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