- ベストアンサー
エクセル関数(関数での算出データに関数を反映させる方法)
顧客管理業務に活用する、エクセル関数の活用方法について質問です。 セル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 次回予定 以上、複雑な質問となり、簡単には解けないかもしれませんが 分かる方は、是非教えてくださいませ。宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
NO1の方の言われている通りです。 失礼ですが、NO1の方のアドバイスでご理解頂けない場合のために >=IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") を下記に直して、表示形式を日付にすれば何も問題ありません。 =IF(COUNTA(A1:D1)>0,MAX(A1:D1),"施術履歴無")
その他の回答 (1)
- boro-pc
- ベストアンサー率30% (64/208)
んー別にエクセルに秀でてる訳ではありませんけど… 複雑ではあるかも知れませんが簡単ではありそうですね とりあえずヒントってことで >=IF(COUNTA(A1:D1)>0,TEXT(MAX(A1:D1),"yyyy/m/d"),"施術履歴無") 結果をTEXTにしちゃってるから後で計算利用できないんでしょう それと文中の要求としてG列には「施術」「無し」「毎回確認」しか入らないはずなのに例には「次回予定」と入っているのも複雑に見せている要因だと思います 妙な所にMAXが入っているのも意図がわからないです では後はがんばってください
お礼
的確な補足、有難うございました。 無事に反映させる事ができました。