• 締切済み

発地、着地、出荷希望日を入力することで、自動的にETAが表示される関数

発地、着地、出荷希望日を入力することで、自動的にETAが表示される関数を求めています。 貿易事務をやっています。エクセルで、下記のような関数を作るにはどうすればよろしいでしょうか。 テーブル サンプル 発地A 着地B ETD   ETA 東京 米国 10月1日 10月15日 東京 米国 10月7日 10月22日 東京 米国 10月14日 10月29日 上海 米国 10月3日 10月23日 上海 米国 10月10日 10月30日 上海 米国 10月14日 11月3日 東京 英国 10月5日 11月15日 東京 英国 10月9日 11月19日 東京 英国 10月20日 11月30日 上のような船便のカレンダーがあります。発地-着地-ETD(発送予定日-ETA(到着予定)の順番で 下方向に時系列にずらっと並んでいます。(発地-着地は上では3つづつならんでいますが実際はランダムであり、組み合わせは30くらいあり) お客様から来たオーダーには、発地、着地、出荷希望日が分かります。 よって発地、着地、出荷希望日を入力することで、自動的に直近のETDを検索し、さらにETAが表示される関数を求めています。 例えば東京発、英国行きで希望出荷日10月7日ならば、直近のETD 10月9日を検索し、ETA11月19日を返す、という流れです。 Vlookup、Maxあたりを調べてみましたが思った結果が得られません。 どなたか詳しい方のご助言をいただきたく、よろしくお願いいたします。

みんなの回答

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.5

検出された結果を他のセルで参照して処理を行う必要がある場合以外で、単に目視による確認だけが必要なのであれば 複雑な計算式を利用せずにオートフィルターで抽出する方が実用的かと思われます

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

発地などの入力を次々に打ち込んでいくときに関連するデータが連続して表示されることが必要でしょう。 そのためには多少式が複雑になりますが次のように対応すればよいでしょう。 例えばA列からD列までの1行目には項目名があるとして、下方には関連するデータがあるとします。 F列は作業列としてF2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(OR(A1<>A2,B1<>B2),A2&B2&1,IF(OR(A2<>A3,B2<>B3),A2&B2&2,""))) 答えの表ですが例えばH1セルに発地、I1セルに着地、J1セルに希望出荷日、K1セルにETD、L1セルにETAとそれぞれ項目名があるとして、H列からJ列にデータが入力されたときにK列からL列にその日付を表示させるとしたら次のようにします。 K2セルには次の式を入力します。 =IF(COUNTIF(F:F,H2&I2&1)=0,"",IF(J2>INDEX(C:C,MATCH(H2&I2&2,F:F,0)),"ETDの最終日を超えた希望日です",INDEX(C:C,MATCH(H2&I2&1,F:F,0)+IF(COUNTIF(INDEX(C:C,MATCH(H2&I2&1,F:F,0)):INDEX(C:C,MATCH(H2&I2&2,F:F,0)),J2)>0,MATCH(J2,INDEX(C:C,MATCH(H2&I2&1,F:F,0)):INDEX(C:C,MATCH(H2&I2&2,F:F,0)),0)-1,MATCH(J2,INDEX(C:C,MATCH(H2&I2&1,F:F,0)):INDEX(C:C,MATCH(H2&I2&2,F:F,0)),1))))) L2セルには次の式を入力します。 =IF(ISNUMBER(K2),INDEX(D:D,MATCH(H2&I2&1,F:F,0)-1+MATCH(K2,INDEX(C:C,MATCH(H2&I2&1,F:F,0)):INDEX(C:C,MATCH(H2&I2&2,F:F,0)),0)),"") K2およびL2セルを選択してそれらの式を下方にオートフィルドラッグします。 最後にKおよびL列を選択してセルの表示形式を日付にします。 これでデータを次々に入力することで、関連のデータも連続して表示させることができます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 条件として、日付は昇順に並んでいるものとします。 ↓の画像で説明させていただきます。 Sheet2に条件を入力すれば表示出来るようにしてみました。 Sheet1に作業用の列を設けています。 作業列E2セルに =IF(COUNTBLANK(Sheet2!$A$2:$C$2),"",IF(AND(A2=Sheet2!$A$2,B2=Sheet2!$B$2,C2>=Sheet2!$C$2),ROW(),"")) という数式を入れ、オートフィルで下へずぃ~~~!っとコピーします。 そして、Sheet2のD2セルに =IF(COUNTBLANK(A2:C2),"",INDEX(Sheet1!C:C,SMALL(Sheet1!$E:$E,1))) という数式を入れ、隣のE2セルまでオートフィルでコピーすると 画像のような感じになります。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

シート1のABCD列に船便カレンダー,とりあえず2000行ほど蓄積してあるとして。 シート2のA2,B2,C2にオーダーの発地、着地、出荷希望日として。 数式はシート2に =MIN(IF((Sheet1!A1:A2000=A2)*(Sheet1!B1:B2000=B2)*(Sheet1!C1:C2000>=C2),Sheet1!D1:D2000)) と記入し,コントロールキーとシフトキーを押しながらEnterで入力する。 (ただしETD当日の出荷希望日でも可の場合。) 数式のセルを右クリックしてセルの書式設定の表示形式からユーザー定義を選び yyyy/mm/dd;;"NA" と設定しておく。セミコロンなので間違えないこと。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

上記の表がA1:D1000にあるとして 条件がG2,H2,I2に入力で =IF(SUMPRODUCT(($A$2:$A$1000=$G$2)*($B$2:$B$1000=$H$2)*($C$2:$C$1000>=$I$2)),SUMPRODUCT(MIN(2000^((($A$2:$A$1000=$G$2)+($B$2:$B$1000=$H$2)+($C$2:$C$1000>=$I$2))<>3)*($D$2:$D$1000))),"")

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 海外工場からの出荷を行う際の売上計上日について

    海外工場からの出荷を行う際の売上計上日について 友人が弊社の米国西海岸の工場長をしており、最近帰国した際に尋ねられました。 彼の工場では相当量日本の顧客に、直接出荷している(売上は日本に計上し米国工場は外注加工費用を米国に売上計上していると思われます)。 以前は工場の出荷日を売上計上日としていたが、本社監査部から、「通関日に売上計上しなけらばならない(弊社は通常出荷基準で売上計上するが、輸出の場合は通関基準で売上計上する 海外の工場から第三国へ出荷する場合も同じという会計基準になっている)。おまえのところは出荷日で売上計上しているので会計基準に違反している(通常船積みまで工場出荷から1~2日かかるため)。今後は入手しているB/L Dateで売上計上するよう。」とかなり強くしかられたとのこと。 彼の意識の中には「わずか1~2日のずれ、なにをうるさいこというんだ。」と放置していたところ、監査部担当役員名できついおしかりをうけたので、いささか頭にきたが、B/L Dateによる売上計上に業務を変更したとのことでした。 そこで彼から、小生に、「そんなに売上計上日というものが大切なのか。要は期ずれしてなかったらいいんじゃないか。それに米国西海岸と日本の時差を考えたらすでに売上計上に一日ずれが生じている、B/L Dateで売上計上すると期末船積み品は自動的に期ずれになるがそれでもよいのか。」と尋ねられました。 彼曰く、「米国西海岸で3月31日に船積みしたとしよう。当然日本時間では4月1日にあたる。それでも3月31日売上計上してよいのか。日ずれどころか立派な期ずれじゃないか。監査部の連中はなにを監査してるんだ」との質問がありました。 たしかに米国西海岸と日本とは12時間以上の時差がありますので、米国西海岸出荷日は、日本時間では翌日となることが通常のようです。この場合売上計上日(米国での船積み日)は米国現地時間で計上するべきか、それとも日本時間で計上するべきかお教えください。 「そんなこまかいことどうでもよい」というご回答を期待しているのですが・・・・

  • Accessで超過年数を自動表示させる関数の構文を教えてください。

    Access2003を使用しています。 クエリで出荷日から8年以上経過したレコードには8年超過と自動表示させたいのですが、関数の構文はどのようになるのでしょうか? 「出荷日」フィールドは日付/時刻型になっています。 なお、表示させるフィールドは「超過年数」です。 どなたかご教示をお願いします。

  • エクセルの日付自動入力について教えてください。

    エクセルの日付自動入力について教えてください。 商品の出荷情報をエクセルで作成しています。毎週月~土曜日の顧客管理を作成しており、 商品を出荷した日付が自動的に更新されるようにしたいです。 例えば、 現在今週の月曜出荷の情報だと、A1セルに6/21と手入力し、 21日が過ぎた時点(翌日22日に)に翌週の日付6/28という日付を手入力(A1セルに上書き)している状況です。この翌週の日付を自動的に同じA1セルに上書きという形で反映させることは可能でしょうか。 説明が分かりにくくて大変申し訳ございません。 データが大量にあるため、なるべく自動的に反映させたいです。 関数入力でこのようなことができるのか、ご存知の方宜しくお願い致します。

  • Excel関数 連続する日付の自動入力

    エクセルの関数について教えてください。 21日開始~20日締めの縦型の表が作りたいのですが、A1のセルに1月21日と入力するとそれ以降(下)のセルに 1月22日 1月23日 1月24日 … 2月20日まで自動で入力できる関数はないでしょうか。 よろしくお願いします。

  • Excel 関数を使って曜日を自動的に出したい

    Excel関数を使って曜日を自動的に出るようにしたいです。 通常 10月1日 木 10月2日 金 10月3日 土 ・ ・ と表示したい場合、CHOOSE関数とWEEKDAY関数を使って 曜日を自動的に出すやり方はわかるのですが、 月と連動させて表示をさせたい (例) 10月 ← ★ここに「月」を入力すると ★その月に準じた日数が自動的に出てきて・・・ (10月なら31日まで、11月なら30日までというように) ↓ 1日 木 ←★さらに曜日も自動的に出る 2日 金 3日 土 という仕組みにしたいです。 どのように作ればよいでしょうか? わかりづらく申し訳ございませんが お知恵を貸してくださいm(_ _)m

  • Excel関数で日付の自動入力をしたい場合・・・

    Excelの関数を用いて日付を自動入力できないものかと思いまして お詳しい方にご教授いただければと思うのですが A1 セルに”入力規則”で1月~12月まで選択できるようにしておいて ある月を選択すると A2~A32に自動で日付が入るようにできないでしょうか? 例 A1:4月をプルダウンから選択 A2:4/1 B2:火 (=TEXT(A2,"aaa")を使用してます) 以下31日まで自動入力 宜しくお願いいたします。

  • EXCELで月を入力して、日付を表示させる方法

    こんにちは。 EXCELの関数についてお詳しい方どうぞよろしくお願い致します。 EXCELで月を入力すると、自動で日付を表示させるようにしたいのです。 どのようにしたらよろしいでしょうか? 例えば、以下のようです。   A 1 2009/9/1 ← 手動で入力 2 3 2009/09/01 ← 関数で自動表示 4 2009/09/02 ← 関数で自動表示 5 2009/09/03 ← 関数で自動表示 6 2009/09/04 ← 関数で自動表示    ・    ・    ・ 32 2009/09/30 ← 関数で自動表示 できれば、30日の月と、31日の月も自動で判別して表示できるような関数だと嬉しいです。 よろしくお願い致します。

  • システムのマニュアルの英訳の件で、いつもこちらでお世話になっております

    システムのマニュアルの英訳の件で、いつもこちらでお世話になっております。 度々ですみませんが、いろんな方のご意見を頂ければ幸いです。 このマニュアルは受注データや納品データを作成するためのものです。 出荷日、着荷日、受注日などを入力すると、自動的にそれらが指定されたデータと注文書が作成されます。しかしそれらの日付がカレンダーに存在しなかったり、おかしな数字だとエラーメッセージがでます。それエラー条件として記載しようとしているのですが、下記の英訳で悩んでいます。 (和文) エラー条件 1.カレンダーに無い日が着荷日になる場合。 2.出荷日・着荷日・受注日の日付がおかしい場合。 3.出荷日が現在の物流日付より古い、又はリミットオーバーの場合。 4.受注日が今日以降、又は1ヶ月以上前の場合。 (私の考えた英文) An error will occur 1. ETA date does not be found on the calender. 2. ETD,ETA and PO DATE may be wrong. 3. ETD date is afead of PO date or over the limit. 4. PO date is found from today or over a month ago. 「~日」が見つからない場合 という感じで訳してみましたが、直訳すぎて伝わりにくいかと悩んでいます。 いろんな方のご意見を頂ければ嬉しいです。よろしくお願いします。

  • 関数 祝日土日が休みなら翌営業日に数値をプラスする

    関数を教えて下さい。よろしくお願いいたします。 【ファイル1】製品の生産・出荷数値を入力してあります。 【ファイル2】1シートが1日分で 8月でいうと1日から31日まであります。 【ファイル1】土・日・祝日に生産がない場合0値ですが、出荷数はあるので、製品Aの数値を入れます。 A列  B列   C列 日付  生産   出荷     製品A  製品A 8/08金 5    1 8/09土 0    5 8/10日 0    5 8/11月 0    5 8/12火 0    5 8/13水 5    2 【ファイル2】日にちごとのシートにリンクしています。 ―8/08金シート― 生産製品A    出荷製品A 5        1 *生産と出荷がある場合は【ファイル1】の数値をそのまま【ファイル2】各シートにリンクさせている* ―8/09土シート― ―8/10日シート― ―8/11月シート― ―8/12火シート― 生産製品A    出荷製品A 0        0 *生産が0ならば―8/09土シート―出荷製品Aを5ではなく、0とリンクしたいのです。?できる関数を教えていただきたいのです。 *また、 ―8/13水シート― 生産製品A    出荷製品A          8/09土分の 5 足す(+)          8/10日分の 5 足す(+)          8/11月分の 5 足す(+)          8/12火分の 5 足す(+)          8/13水分の 2 5        で     22  とリンクさせる関数を教えていただきたいのです。 よろしくお願いいたします。 

  • 日付が自動的に変わる関数は?

    関数なんて自分で考えて作るものなのでしょうか? 元からある「式」をそのまま取り出してポンと置けば済むのだとばかり、思っていました。 それほどの初心者です。 前置きが長くてすみません。 日付に関する関数について、どうしてもわからない事があって書き込みをしました。 ここに二つのセルがあります。 左のセルには直接入力で日付を入れていって、右のセルには、左のセルの日付が1日から10日だったら自動的にその月の15日と表示するように、同様に11日から20日だったら25日と、21日から末日だったら、翌5日と、表示したいのですが、どうすればよいのでしょう?(ちなみに日付の表示は「●/●」となるように。) IFやDAYを駆使したつもりですが、どうもうまくいきません。 よろしくおねがいします。

専門家に質問してみよう