- ベストアンサー
Excel関数を使用して注文までの期間を表示する方法
- 任意の数字を文字列に変換するためのExcel関数を使用して、注文までの期間を表示する方法についてご質問いただきました。
- 現在、列Cに注文までの期間が数値で表示されている状態で、それを指定された形式(5日以内、10日以内など)に変換したいとのことです。
- 具体的な条件に基づいて数値を判定し、対応する文字列に変換するために、ExcelのIF関数やVLOOKUP関数を使用することができます。また、条件の範囲についても指定があるため、範囲判定にはAND関数を組み合わせることが必要です。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
蛇足ですが このレポートによって何かアクション(注文がまだの商談に対する営業活動等)が取れますか このレポートはどの時点で印刷しますか。 ・商談日には注文がまだですよね 注文日のセルは空白 ・32日目に注文を受け手も30日以内注文なし の期日でよいのでしょうか ・商談日と印刷日(または基準日)との期間計算は必要ないですか
その他の回答 (7)
- shinkami
- ベストアンサー率43% (179/411)
ANo.5のshinkamiです。 済みません式が間違っていました。 C3=IF((B3-A3)>30,"30日以内注文なし",(5*INT((B3-A3)/5)+5) & " 日以内") 表示書式は標準にしてください ※EXCEL2007ではうまくゆきましたが、他のヴァージョンでは確認できません。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 前回とほとんど同様の方法になりますが・・・ D列セルの表示形式をユーザー定義から 0日以内 としておきます。 D2セルに =IF(C3="","",IF(C3>30,"30日以内注文なし",CEILING(C3,5))) という数式を入れオートフィルで下へコピーではどうでしょうか?m(__)m
- shinkami
- ベストアンサー率43% (179/411)
http://kikitai.teacup.com/qa7143744.html の質問を整理なさいましたね B列:注文日 A列:商談日 B列>=A列で よろしいですね C3の式を C3=if((B3-A3)>30,30,5*INT((A2-B2)/5)+5)として C3の表示形式を#日以内とします。 [C3を右クリック]―[セルの書式設定]―[セルの書式設定]―[表示形式]―[ユーザ設定] ―[右の種類枠に #日以内 ]
- hallo-2007
- ベストアンサー率41% (888/2115)
私も、ここは エクセルの定番である Vlookup関数と対応表について勉強してもらった方が良いと思います。 http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/vlookup.htm の下の方に、点数と評価の対応表を準備して、点数から評価を表示させる方法があります。 例えば F列に 日数、G列に対応して表示したい 文字 の対応表を準備します。 D列は =VLOOKUP(C3,F$3:G$9,2) と簡単な関数でできます。 複雑な関数を応用するより、定番の方法をまず理解してみてください。 将来、条件を変更するとき、ほかに人に説明するときの事まで考えて見てください。
- KURUMITO
- ベストアンサー率42% (1835/4283)
D3のセルには次の式を入力し下方にオートフィルドラッグします。 =IF(C3="","",IF(C3=0,"5日以内",IF(C3>30,"30日以内注文なし",ROUNDUP(C3/5,0)*5&"日以内")))
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、C3セルに次の関数を入力して下さい。 =IF(AND(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))+1/DAY(INDEX($B:$B,ROW()))),INT(INDEX($B:$B,ROW()))>=INT(INDEX($A:$A,ROW()))),INT(INDEX($B:$B,ROW()))-INT(INDEX($A:$A,ROW())),"") 次に、D3セルに次の関数を入力して下さい。 =IF(ISNUMBER(INDEX($C:$C,ROW())),LOOKUP(INDEX($C:$C,ROW()),{0,6,11,16,21,26,31;"5日以内","10日以内","15日以内","20日以内","25日以内","30日以内注文なし"}),"") そして、C3~D3の範囲をコピーして、同じ列の4強目以下に貼り付けて下さい。
- imogasi
- ベストアンサー率27% (4737/17069)
先ほど質問した人ではないか? そこには書いたが、こういう日数帯で対応する文字列(の一部)を変える(決めるのは、日数と返す日数の対応表を作って VLOOKUP関数のTRUE型を使えば良いのだ。 Googleででも「エクセル VLOOKUP TRUE」で照会し、出てきた記事の例で演習して、自分の場合の表の作り方を勉強すること。 $E$1:$f$5 0 5 6 10 11 15 16 20 21 以下略 以下以上未満に注意してE列の値は1だけ増減にきをつけること。 実際に下記のようなテストをして確かめて使うこと。 A列に整数を入れて B1に 式 =VLOOKUP(A1,$E$1:$F$4,2,TRUE) 下方向に式複写。 0 5 1 5 2 5 3 5 4 5 5 5 6 10 7 10 8 10 後は文字列「日以内」を&でくっつけておく。 =VLOOKUP(A1,$E$1:$F$4,2,TRUE)&"日以内” == 区分けの規則性(本件では5づつ区切り)に基づいて、数式を組む手も在る。 初心者はこの方がわかりやすいらしく、ベストアンサーにしている場合が多い。しかし発展性が無いよね。