ちょっと先の未来クイズ第4問

fujillinさん解り易くしました。

報告書を作成する際、入力内容から、A(業務報酬)
とB(預り金)を選ばせようとしていますが、うまく表示されません。どこがいけないのでしょうか?

パターンは4つありますが、
もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が有ったら)
B =$V$18(預り金)

もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が無かったら)
この事例はあり得ませんので削除

もし、$AP$7="○" ○で(請求書が弊社宛)
('!$AL$7="")文字式が空欄だったら(下請会社名の記載が無かったら)
A =$V$19(業務報酬)金額的には100%
もし、$AP$7="○" ○で(請求書が弊社宛)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が有ったら)
A =$V$19(業務報酬)金額的には50%

を選ばせようとしています。

疑問点の $AT$7=(支払金額)は上記の式に関係ないものとして削除しました。

以下の文書では、もし、$AP$7="×"(請求書が弊社宛ではなくて)で $AT$7=""(支払金額の記載が無かったら)A=$V$19(業務報酬)

もし、$AP$7="○"(請求書が弊社宛で)、,NOT($AL$7==""(下請会社名の記載が有ったら)、A=$V$19(業務報酬)
そうでなければ、B=$V$18(預り金)

=IF(AND($AP$7="×",$AT$7=””),$V$19,IF(OR($AP$7="○",NOT($AL$7="")),'$V$19,$V$18))

改善策1として
=IF($AP$7="×",$V$18,$V$19)を入れてみましたが、
もし請求書が弊社宛では無ければ、預り金、そうでなければ業務報酬

もし、$AP$7="○" ○で(請求書が弊社宛)
($AL$7="")文字式が空欄だったら(下請会社名の記載が無かったら)
A =$V$19(業務報酬)
がうまくいきません。


改善策2として
=IF(OR($AP$7="○",NOT($AL$7="")),$V$18,$V$19)で作成しましたが、間違っていました。
(請求書が弊社宛)または(下請会社名の記載が有ったら)、業務報酬、そうでなければ預り金


パターン例
請求書が弊社宛 請求書が弊社宛じゃない
下請会社有 業務報酬 預り金
下請会社無 業務報酬 -

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

  • 表示させたいのは、金額ではなくて、「業務報酬」「預り金」という言葉です。
    パターン例

    「エクセルの式がわかりません、教えてくださ」の補足画像1
      補足日時:2017/06/21 13:11
  • 皆さん、ありがとうございます。説明がへたくそですみません。
    =IF($AP$7="○","業務報酬","預り金")の式を入れてみましたが、うまくいきませんでした。
    前提条件を話した方がいいと思いますので、
    エクセルの設定者は、別にいますが、今回は、下請法関係で私が下請法シートを作成しています。
    もともとは、報告書作成システムでした。
    入力シートで入力したセルの値を別のシートの報告書に反映させる仕組みです。
    入力シートで入力したセルの値をVLOOKUPで別のセルに移して、拾ってきます。それを報告書に入れます。$AP$7のセルは、VLOOKUPのセルです。
    100行まである入力シートの指定された行にあるセルだけを、$AP$7に写し、それを別の報告書シートに移す仕組みです。

    「エクセルの式がわかりません、教えてくださ」の補足画像2
      補足日時:2017/06/22 14:12
  • 私が作成したのは、条件で、報告書の指定されたセルに、$V$19(業務報酬)、$V$18(預り金)を入れる仕組みの報告書作成と、入力シートから、下請法シートに飛ぶシステムです。
    =IF('★入力シート'!$AP$7="○",'報告書'!$V$19,'報告書'!$V$18)
    を入れてみると、1番、4番、7番は、預り金(間違い)2番、3番、5番、8番は、業務報酬(正解)
    6番、預り金(正解)となります。
    =IF('★入力シート'!$AP$7="×",$V$18,IF(OR('★入力シート'!$AP$7="○",NOT('★入力シート'!$AL$7="")),'報告書('!$V$19,$V$18))とすると、6番以外、業務報酬となり、すべて正しくなります。
    ところが、 AL  AM  AN  AO  AP
          Y社  5   ○  ×  ×の場合 預り金(不正解)となります。

      補足日時:2017/06/22 14:16
  • そこで、APをブランクにすると業務報酬になります。これで、表は完成ですが、理由はさっぱりわかりません。皆様お騒がせいたしました。ありがとうございます。

      補足日時:2017/06/22 14:27
  • 皆さん、すみません。どうも前提が間違っていました。
    弊社の業務報酬の有無が必要でした。
    8つのパターンがあり、そのうち2つは仕事じゃないから6つのパターンを数式化しようとしていました。再度、教えていただければ助かります。

    「エクセルの式がわかりません、教えてくださ」の補足画像5
      補足日時:2017/06/23 13:51

A 回答 (8件)

またしても添付画像が判別できないですけど。


細かく書いても表示される画像は縮小されてしまうので、
それでもわかるように工夫(画像をトリミング;必要な部分以外は切り捨てる)する必要があります。
その方法は質問に関係ないので省きます。

画像のものを憶測で簡略化したものを添付します。
これで式を考えてみます。

私が回答投稿して良い空気なのかわからないけど…

■APが「○」の場合
ALやAYの内容がどうであれ、結果は全て「業務報酬」になります。

これを、IF関数を使って表すと以下のようになります。

=IF(AP="○","業務報酬",【AP="×"の場合の処理】)   …【式1】

これで、条件①~④の場合の処理は完了。

■APが「×」の場合
結果が「業務報酬」と「預り金」のどちらかになります。
どの条件で結果が分岐するのか、見てみると・・・

AYに金額の記入があるか、無い(空欄)かで違います。

これを、IF関数を使って表すと以下のようになります。

=IF(AY<>"","業務報酬","預り金")   …【式2】

これで、条件⑤~⑧の場合の処理は完了。

■合体!

(式1)と(式2)を合体させると、条件①~⑧全てを処理できる式になります。
ではやってみましょう。

=IF(AP="○","業務報酬",【AP="×"の場合の処理】)
   ↓
=IF(AP="○","業務報酬",【式2】)
   ↓
=IF(AP="○","業務報酬",IF(AY<>"","業務報酬","預り金"))   …完成!

※もちろん、「AP」「AY」だけだとセルになっていないので、行番号も加えて下さい。


■疑問
あくまで、私が画像から読み取った条件で考えたのですが

AL(業者名の有無)については、結果表示させるにあたり、条件として不要だと思います。

条件④と条件①の違いは?(画像で判別不可)

条件④と条件⑧は無いパターンとのことでしたので、
データミスでも存在しえないないものと解釈しまして、
敢えてそのようなケースが合った場合のエラー処理などは含めていません。

---------------------
★別解
添付した表を前提条件としての別解を。

条件がいくつもあっても、結果が「預り金」となるパターンは条件⑦、ただ1つのみ。

そこだけをIFで判別します。

=IF(AND(AP="×",AY=""),"預り金","業務報酬")

こんなにシンプルになります。
※もちろん、「AP」「AY」だけだとセルになっていないので、行番号も加えて下さい。
「エクセルの式がわかりません、教えてくださ」の回答画像7
    • good
    • 0

No.7に添付した画像を元にしての回答になります。



★別解・・・もっと簡単にできました。
金額が空欄のときだけ「預かり金」ですよね。

=IF(AY="","預り金","業務報酬")

これだけです。

------------------------------------------
補足日時:2017/06/23 13:51 の補足を元に、No.7と、今回の回答をしたのですが。

補足日時:2017/06/22 14:27 の補足で

>APをブランクにすると業務報酬になります。

と書かれていますが、APって「○」「×」のどちらじゃないの?
APがブランクというケースも考慮する必要があるの?
    • good
    • 0
この回答へのお礼

すみません。何度も勘違いさせて。いろいろありがとうございました。
APは、○と×だけのつもりでした。
ところが、ブランクにすると結果が求める回答だったということです。

お礼日時:2017/06/25 08:31

ANo5です。



>=IF($AP$7="○","業務報酬","預り金")の式を入れてみましたが、
>うまくいきませんでした。
なんだか、あとの方の式を見ると別シートのセル参照らしいので、当然ながら
 =IF('★入力シート'!$AP$7="○","業務報酬","預り金")
としなければならないはずですよね?
(別シートだってことが、どこかに書いてありましたっけ??)

まぁ、上記に修正したところで、補足を読んでみると、質問者様の思う結果にはならないみたいですが・・・
多分、条件と結果の関係を、文章から私が正しく理解できていないのだと思います。
    • good
    • 0
この回答へのお礼

ごめんなさい。
別シートに移す際は、
=IF('★入力シート'!$AP$7="○","業務報酬","預り金")と入れました。

お礼日時:2017/06/23 11:42

ANo2です。



>表示させたいのは、金額ではなくて、「業務報酬」「預り金」という言葉です。
う~~ん。
前回の質問文でも今回の質問文でも、まさか文字列を表示したいのだとは読み取れませんでした。

前提条件も併せて再整理します。
・判断したい場合分けはANo4様の表が正しい
・AP7の値は○か×。(宛先名などでなく、○×以外の値も取らない)
・ただし、宛先他社(×)かつ下請会社無のケースは発生しない。

上記の前提が成り立つのならば、式は
 =IF(AP7="○","業務報酬","預り金")

で済むはずと思います。
(上記の条件が成り立たない場合は、式も変わります。また、"○"は「○」,「〇」など見た目は同じでも異なる文字が存在しますので、ご注意
    • good
    • 0
この回答へのお礼

理由はわかりませんが、回答まで漕ぎつけられたと思っています。不慣れなエクセルについて、親身になってお教え頂きありがとうございました。

お礼日時:2017/06/22 16:19

カッコ1つ抜けてました。



=IF(【請求書が弊社宛】,"業務報酬",IF(【下請会社有】,"預り金","-"))

で、下へ・・・

=IF($AP$7="○","業務報酬",IF($AL$7<>"","預り金","-"))

添付されてた画像の内容って、この回答についてる添付画像のような内容ですよね?
「エクセルの式がわかりません、教えてくださ」の回答画像4
    • good
    • 0

パターン例の画像が小さくてわかりにくいですが、


質問文の最後で判断できました。
-------------------------
①【請求書が弊社宛】であれば、"業務報酬"を表示する。

②【請求書が弊社宛じゃない】かつ【下請会社有】なら"預り金"を表示する。

上記①②に該当しない場合は"-"を表示する。
-------------------------

これを関数におこすと・・・

=IF(【請求書が弊社宛】,"業務報酬",IF(【下請会社有】,"預り金","-")

こうなります。

これを、質問文から読み取れる範囲で条件を書き換えていくと

=IF($AP$7="○","業務報酬",IF($AL$7<>"","預り金","-"))

書かているパターンを満たすだけならこんな感じになります。
    • good
    • 0

前回回答者です。



ANo1様がご指摘のように、ここはオープンな質問の場です。
その際に、当然起こると思われることを予想すれば、自動的にマナーが生まれますのでご注意をなさってください。

前回『条件を整理した方が良いです』と回答させていただきましたが、整理できているとは思えません。(ほとんど同じままでは?)
https://oshiete.goo.ne.jp/qa/9805726.html

整理の一法として表形式にすることを提示しましたが(他の方法でも良いですが)、このようにすれば一目瞭然で、回答者にも、質問者様がチェックするのに都合が良いと考えたからです。
今回の質問文を読んでも、(コピペで書いているのか?)おかしな文章になっていますし、前回、指摘しましたように記載されていない部分があります。

>この事例はあり得ませんので削除
削除するのはご自由ですが、エクセルの関数式は
 IF(条件, 成立する場合の値, しない場合の値)
という記述法になっているので、実際の運用では起こり得ない場合であっても、値を設定しないと、式として成立しない仕組みになっています。
・・・ということが、理解できていますか?

起こり得ない値なので、"起こり得ない!"でも"hoge"でも""でも構いませんが、何らかの設定をしておかないと、式がエラーになります。


もしも、条件が整理できていて(私の読解力と推理力が正しければ)表で示さないまでも、ご質問文は
 ・AP7="○" なら A 
 ・AP7="×" かつ AL7="" なら B
 ・上記以外は(例えば)空白
といった感じに書けるはずと思います。
(ご質問文に比べて、だいぶわかり易いのではないかと思います)

さらに、現実的に、「AP7="×" かつ AL7<>""」というケースが起こり得ないのであれば、それを加味して
 ・AP7="○" なら A(V19)
 ・AP7="×" なら B(V18)
 ・上記以外は空白
などと単純化することもできるはずです。

もしも、AP7が○、×以外の値をとり得ないのであれば、
 ・AP7="○" なら V19 の値
 ・それ以外なら  V18 の値
とまで単純化することも可能です。(少し大胆かもですが)
ここまでくると、式も単純なものになりますし、質問するまでもなくなっていませんか?


おまけですが・・・
関数式に関する質問なので、セルの値が示す意味(請求書の宛先とか業務報酬や預り金など)はまったく不要な情報で、(質問者様には重要でしょうけれど)残念ながら文章をわかりにくくすることにしか役立っていません。
このあたりは、条件の整理と同様に、『聞きたい内容の整理』を行ってから質問文を作成すれば、自然と、必要かつ十分な情報を提示できるようになるものと思います。
(質問の内容によっては、意味を示した方が理解しやすい場合もありますが、今回の場合は無くても十分でしょう)
    • good
    • 1
この回答へのお礼

関数式に関する質問について、いろいろご教授頂きありがとうございました。今年の1月から独学で勉強しつつある50代後半の親父です。訳も分からず質問して申し訳ありません。理由がわからず、とにかく式に値を入れて検証して回答を出そうとしています。

お礼日時:2017/06/22 16:53

× 前の質問放置


× 続きの質問
× 個人宛

ダメダメづくしですが…

自分の作った表のセル位置で式を求めてるから、
具体的にどんな表を作りたいのか見えません。

質問を簡潔にには出来ませんか?
A1セルが〇なら、B1セルにD1セルの内容を表示させる。

・・・とかね。
「報酬を表示させたい」とか言われると、
報酬のセルってどこ?って質問を何度も読み返すことになっちゃうので。

質問者様の処置内容よりも、
どういう条件があるのか、その条件ごとにどう処理したいのかを明確にしたほうが求める回答に繋がると思います。

質問者樣はExcelのスキルはあると思いますので、
そういう質問で回答頂いても反映できると思います。

もう少しシンプルな質問内容にできないでしょうか?
    • good
    • 0
この回答へのお礼

大変申し訳ないです。
言葉足らずで申し訳ありません。

エクセルは、今年から、独学しているので不得意です。
まず、前の質問ですが、放置ではなく書き換えたつもりでした。放置とみなされないためには削除すべきだったのでしょうか?
個人宛は、だめだということは知らなかったです。ごめんなさい。
それから、業務報酬という言葉を表示させたいということでした。

お礼日時:2017/06/21 13:05

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