• ベストアンサー

Excel2010の関数で教えて頂きたいことがあり

Excel2010の関数で教えて頂きたいことがあります。 貸し出し表を作成しています。 例えばですが、 A1にデフォルトで在庫が「あり」の状態です。 A3とG1の貸出日に入力すると自動的にA1が「なし」を表示する。 A5とJ1の返却確認者が入力すると自動的に「あり」を表示する。 自分で行うとエラーが表示されてしまい困っています。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

>A3とG1の貸出日と返却確認者が両方が入力された状態で、A5の貸出日が入力されると「なし」に変更されて、J1の返却確認者のセルが入力されると「あり」と入力された状態にしたいのです。 なるほど。よくある IF 関数の利用よりも、入力箇所が 2 系統ある分、ちょいと複雑なのですね。要するに A3、A5 セルは貸出し、G1、J1 は返却であり、貸し出す物品?の個数は 1 個だけってことなんでしょうね。 例えば、貸出しは 1 つしか入力されていないのに返却が 2 つ入力されているなんて状態は、ないのでしょうね?また、A3・A5 が両方とも入力されているのに G1・J1 には 1 つも入力されていないなんて状態も、ないんですよね? ということは、入力のたびに「あり」と「なし」が必ず切り替わるわけです。だから、入力されている日付の個数の偶奇を調べれば、場合分けできますね?つまり、A3・A5・G1・J1 の 4 セルのうち日付が入力されているセルの個数が、 ●偶数(0、2、4 個)のとき 「あり」 ●奇数(1、3 個)のとき   「なし」 となりますよね。というわけで、数式はこんな感じで。 A1 =if(mod(count(a3,a5,g1,j1),2),"なし","あり") COUNT 関数は、数値(日付データも数値です)が入力されているセルの個数を数えます。数値じゃなくて文字列を 4 セルに入力したいって場合は、代わりに COUNTA というので数えます。MOD(数値,2) というのは、2 で割ったときの余りを求めています。それが 0 になるか 1 になるかで、偶奇を判定できるわけです。

Akira357
質問者

お礼

ありがとうございました。 こちらの関数を使用させて頂いております。 入力箇所が複数あると調べても分からなかったので助かりました。

その他の回答 (5)

  • Asahi2001
  • ベストアンサー率54% (6/11)
回答No.5

No.4です。 すみません。条件が抜けていたのでこちらを試してみてください。 =IF(OR(J1<>"",AND(A3="",G1="")),"あり","なし")

Akira357
質問者

お礼

ありがとうございます。 継続する方法が分かりませんでした。

  • Asahi2001
  • ベストアンサー率54% (6/11)
回答No.4

これでどうでしょうか。 =IF(OR(AND(A3="",G1="",A5="",J1=""),AND(A3<>"",G1<>"",J1<>""),AND(A3<>"",G1<>"",A5<>"",J1<>"")),"あり","なし")

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

>A3、G1とA5、J1はどちらかが入力されていれば、反映したいのです。 ではこんな感じで =IF(AND(OR(A3<>"",G1<>""),A5="",I1=""),"なし","あり")

Akira357
質問者

お礼

ありがとうございます。 A3とG1が入力された状態ですとA5とJ1が反映されていませんでした。 A3とG1の貸出日と返却確認者が両方が入力された状態で、A5の貸出日が入力されると「なし」に変更されて、J1の返却確認者のセルが入力されると「あり」と入力された状態にしたいのです。 宜しくお願いします。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

それが「1シートにつき1回」で終わるなら、IF関数のみで可能です。 (例えば#1さんのご意見のように。) ですが、 > A3とG1の貸出日に入力すると自動的にA1が「なし」を表示する。 > A5とJ1の返却確認者が入力すると自動的に「あり」を表示する。 この後も   A7とG1の貸出日に入力すると自動的にA1が「なし」を表示する。   A9とJ1の返却確認者が入力すると自動的に「あり」を表示する。      (以下略) のように、コレがシートの行方向(縦方向)に延々と続くなら、 もう少し考える必要が出てきます。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

以下の様な感じでどうでしょうか? =IF(AND(A3<>"",G1<>"",OR(A5="",I1="")),"なし","あり")

Akira357
質問者

お礼

ありがとうございます。 申し訳ありません、伝え方が悪かったです。 A3、G1とA5、J1はどちらかが入力されていれば、反映したいのです。 宜しくお願いします。

関連するQ&A