• ベストアンサー

エクセル関数(関数での算出データに関数を反映させる方法)

顧客管理業務に活用する、エクセル関数の活用方法について質問です。 セルA1に『過去の施術日(1)』 セルB1に『過去の施術日(2)』 セルC1に『過去の施術日(3)』 セルD1に『過去の施術日(4)』 セルE1に『最終施術日(関数で算出)』 セルF1に『適性施術頻度』 セルG1に『次回予定』 過去の施術日(1)~(4)には日付が記載されております。 そのデータを基に、E1『最終施術日』の値を関数で算出。 ちなみに最終施術日の数式は、以下となります。 =IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") ------------------------------------------------------------------ さて、問題に直面しているのは、ここからなのです。 セルE1の『最終施術日』の値から、本日までの日数が セルF1の『適性施術頻度』を超えた場合は、 セルG1の『施術予定』に“施術” 超えていない場合は、“無し” 空欄の場合は、“毎回確認” と表示させたいのです。 ちなみに、セルE1の『最終施術日(関数で算出)』を 関数を使用せず、通常のデータを入力していた時は、 以下の数式で機能しておりました。 =IF(COUNT(F1)=0,"毎回確認",IF(MAX(E1)<TODAY()-F1,"施術","無し")) しつこいようですが、セルE1の『最終施術日(関数で算出)』を 関数を使用してから、機能しなくなってしまいました。 データ例 A1       B1       C1       D1         E1                         F1    G1 2009/5/1   2009/6/15  2009/6/30  2009/9/8    最終施術日(2009/9/8 ※関数で算出)  30  次回予定 2009/5/28  2009/6/30                    最終施術日(2009/6/30 ※関数で算出)  45  次回予定 以上、複雑な質問となり、簡単には解けないかもしれませんが 分かる方は、是非教えてくださいませ。宜しくお願い致します。

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

  • ベストアンサー
  • a987654
  • ベストアンサー率26% (112/415)
回答No.2

NO1の方の言われている通りです。 失礼ですが、NO1の方のアドバイスでご理解頂けない場合のために >=IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") を下記に直して、表示形式を日付にすれば何も問題ありません。 =IF(COUNTA(A1:D1)>0,MAX(A1:D1),"施術履歴無")

uwkazu
質問者

お礼

的確な補足、有難うございました。 無事に反映させる事ができました。

その他の回答 (1)

  • boro-pc
  • ベストアンサー率30% (64/208)
回答No.1

んー別にエクセルに秀でてる訳ではありませんけど… 複雑ではあるかも知れませんが簡単ではありそうですね とりあえずヒントってことで >=IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") 結果をTEXTにしちゃってるから後で計算利用できないんでしょう それと文中の要求としてG列には「施術」「無し」「毎回確認」しか入らないはずなのに例には「次回予定」と入っているのも複雑に見せている要因だと思います 妙な所にMAXが入っているのも意図がわからないです では後はがんばってください

関連するQ&A