• ベストアンサー

日付が新しい数値を参照する。

いつもお世話になっております。 さて質問ですが、下に例を作成してみました。 現在は、B1に下のような式が入っています。 =IF(A1>0,(25-(A1*4.9404)*5)/40,0) A1に数値を入れB1に答えが出るといった感じ、これが365日入力しています    A  | B  | ------------------- 1| 0.3527 | 0.41 | 式の中にある4.9404という数値は薬品の校正値で2週間に一度、校正値が変わる度打ち変えています。 で、質問は 1)別のシートに校正値というセルを作り、そこに入力すればB1の数値が日付の新しいものを参照する。    日付  | 校正値 | ------------------------------ 1|2007/08/01 | 4.9459 | 2|2007/08/17 | 4.9423 | 2)B1の数値は校正値が新しいものを参照するが、一度計算されたものは校正値が新しくなっても書き換えられない。 こういうものは作成可能ですか? ご教授願います。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

校正値というのを変更しない為には、最初のシートに日付を持たせないとダメだと思います。 更に校正値の表にある日付は常に新しい日付が入っていく想定とした場合です。 例えば、校正値の表がSheet2のA、B列にあるとして、 日付     校正値  2007/7/31   4.9404 2007/8/01   4.9459 2007/8/17   4.9423 2007/9/01   4.0822 Sheet1 の A1 に 2007/7/31 B1 に 0.3527 C1 に =IF(B1>0,(25-(B1*VLOOKUP(A1,Sheet2!A:B,2))*5)/40,0) とし、A列の日付をずらし、B列は同じ数値、C列はコピーで試した場合 2007/07/31  0.3527  0.40719 2007/08/01  0.3527  0.40695 2007/08/15  0.3527  0.40695 2007/08/17  0.3527  0.40711 2007/08/27  0.3527  0.40711 2007/08/31  0.3527  0.40711 2007/09/01  0.3527  0.44503 2007/09/02  0.3527  0.44503 のようになります。

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

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

薬品の数がどれほどなのか、ということが書いてないので、判断しにくい。 (1)ある薬品の、最新の校正値を入れるセルを固定する。 毎日の校正値の入力について、決まったセルへ、セルを間違いなく、更新のデータ入力は大変だが、式は =IF(A1>0,(25-(A1*Sheet2!A5)*5)/40,0) のようになり、式の考え方は安定する。 (2)   日付  | 校正値 | ------------------------------ 1|2007/08/01 | 4.9459 | 2|2007/08/17 | 4.9423 | のように最新のものは、最下行にあると見れるなら、式を作れるが 最終行を捉えるのは、意外に関数では難しい。 ユーザー関数で Function lastV(a) c = a.Column lastV = Sheets("sheet2").Cells(65536, c).End(xlUp) End Function をつくり =lastv(C1) で値が取れる。Sheet1において。 式は =IF(A1>0,(25-(A1*lastv(C1))*5)/40,0) ただし日付ー校正値の2列が必要で、シートSheet2の列には限りあるのだが,、使えるかな。

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

関連するQ&A

  • 日付が新しい数値を参照する。

    いつもお世話になっております。 さて質問ですが、下に例を作成してみました。 現在は、B1に下のような式が入っています。 =IF(A1>0,A1*108,0) A1に数値を入れB1に答えが出るといった感じ、これが365日入力しています    A  | B  | -------------------    3  | 318 | 式の中にある108という数値は「ふるい」の係数で、ふるいには一体型と分離型があり一体型の場合は108、分離型の場合は99と係数があります。 ふるいをして残った量(セルA1)に、一体型を使用した場合は108、分離型を使用した場合は99という風に計算しています。 そして、この係数は2週間に一度、校正をし厚生値が変わる度打ち変えています。 で、質問は 1)別のシートに校正値というシートを作り、そこに日付、一体型、分離型という見出しを作り校正する度に入力すればB1の数値が日付の新しいものを参照する。    日付  | 一体型|分離型| ------------------------------ 1|2007/08/01 | 106|     | 2|2007/08/01 |   |  96 | 例えば、こういった感じで   A  | B | C | ------------------------ 1| 分離型| 3 | 318| A1は入力規則で選ぶようにして、B1に数値を入力するとA1を参照し、別シートの校正値から日付の新しい分離型を選び計算する。 2)B1の数値は校正値が新しいものを参照するが、一度計算されたものは校正値が新しくなっても書き換えられない。 こういうものは作成可能ですか? わかりにくい質問文ですが、ご教授願います。

  • 2つのセルを一つに・・しかし、日付のセルが数値に変わってしまう

    セルには     A        B      1 2005年5月   修正あり  と入力されています。 C1に、AとBに入っている文字をつなぎ合わせ、更に結合した部分を:で区切ろうと思い、C1セルに「A1&":"&B1」と入れました。 すると、C1に 36647:修正あり と出てしまいました。 日付が数値に切り替わっちゃったのですが、日付は日付で数値に切り替わらないようにする方法はありますか? 500行ぐらいあるので・・お願いします。

  • 隣のセルの数値または色を参照してその数値に枝番

    どなたか教えて頂きたく 隣のセルの数値を参照して、隣のセルに入力されている数値に枝番号を 自動的に付ける方法です 具体的には     A     B    1  400   400-1 2  400   400-2 3  200   200-1 4  200   200-2 5  300   300-1 6  400   400-3 7  200   200-3 8  400   400-4 9  100   100-1 B欄を自動入力する方法はありますか? A欄は手入力です 宜しくお願い致します 以上  

  • Excel IF関数での循環参照回避方法

    IF関数を使用し、計算式を作成したいのですが循環参照になってしまい困っています。 (計算式内容) A1:2010.01(日付を入力) E1:A1同様の形式で日付を入力 E2:数値を入力 A2に、=IF(A1=E1,E2,A2) A1とE1の日付が同じならば、E2の数値を表示し、異なる場合は現在A2に表示されている数値を表示したいのですが、循環参照させずに計算式を作成する事は可能でしょうか?

  • 別シートのセルにある数値、+○,○○○ -○,○○○ を参照し表示させ

    別シートのセルにある数値、+○,○○○ -○,○○○ を参照し表示させたい。 2点ほど質問させてください。 1. Sheet1のA1セルに、 Sheet2のA1セルに手入力した、「数字の前に + あるいは - が付く数値」を、桁区切りのカンマ付きで表示させたいのですが、 関数式「=IF(Sheet2!A1="","",Sheet2!A1)」ではうまくいきません。 ちなみに、- の付いた場合には赤字で表示させたいと思います。 2. Sheet1のA1セルが、上記でうまく表示されたとして、 今度はその隣のA2セルに入っている数値を、 Sheet1のA1セルが -○,○○○ の場合には赤字で、 Sheet1のA1セルが +○,○○○ の場合には黒字で表示させるにはどうしたらよいでしょうか? たぶん「条件付き書式」で出来るような気はするのですが、定義をどうしたらよいものか見当が付きません。 ちなみに、Sheet1のA2セルに入っている数値は、Sheet2の別セルからの参照になっています。 以上ですが、お知恵を拝借させてください。 よろしくお願いいたします。

  • 日付を含む関数について。

    エクセル2003での質問です。 ある列のセル(A1とします)のセルに日付が書き込まれた時だけ、対応する列のセル(B1とします)に決まった文字(ここでは"済")が入るようにしたいと思いIF関数を使って組み立てたのですが、日付の入れ方が解らず上手く行きません。 =IF(A1="日付","済","") ←B1に書き込んでます。 と式を立てていますが、この・日付・の部分の入れ方を教えて頂けないでしょうか? また、勉強の為他の考え方も有ればお教え下さい。 宜しく御願いします。

  • Excelで、数値データとして参照したいのに、文字列データとしてしか参照してくれません

    Excelで、ある数式セルに表示されたデータを、数値データとして参照したいのですが、どうやっても文字列データとしてしか認識してくれません。 具体的に書くと、 例えばセルA1に、FIND関数で他のセルから抜き出した半角数字のみのデータを表示しているとします。 そのA1の数値を、今度はセルA2で、 if(A1=1000,A1*2,A1/2) などと数式で参照したい時に、私のExcel(2002です)では、どうやってもA1=1000という条件式をきちんと判別してくれません。どうやら、FIND関数で抜き出したために文字列データとして扱われてしまっているようです。 その証拠に、A1が実際に「1000」の時に if(A1="1000",A1*2,A1/2) という風に1000をダブルクォーテーションで囲んで式を書くと、きちんとA1*2を実行してくれます(つまり、A1が実際に1000の時でも条件式の1000をダブルクォーテーションで囲まないと、きちんと判別してくれないという事です)。 この状態から抜け出せずに、どうにも困っています。 どうにかA1の「1000」というデータを文字列でなく数値データとして条件式で利用できるように出来ないものでしょうか。 乱文ですみませんが、よろしくお願いいたします。

  • Excelの条件付き書式、直接入力と参照した数値は違う?

    Excelの条件付き書式、直接入力と参照した数値は違う? Sheet1のA1セルの数値を Sheet2のA1セルが「=IF(Sheet1!A1="","",Sheet1!A1)」という数式で参照しています。 数値に、「%以上」という文字列を追加したいので、 Sheet2のA1セルの書式設定を、ユーザー定義で「0"%""以""上"」としています。 Sheet1のA1セルに数値を入力 → Sheet2のA1セルが参照 → ユーザー定義で「○%以上」と表示させる。 ・・・ここまでは簡単にできました。 さらに、数値が表示されたときにセルの色を赤くしようと、 条件付き書式で、 「セルの値が 次の値以上 0」 と設定したのですが、入力が無くても赤いままになってしまいます。 設定を、 「セルの値が 次の値以上 ="0"」とか、 「セルの値が 次の値より大きい 0」とか、 いろいろとやってみましたがどうしてもうまくいきません。 参照ではなく、セルに直接入力するのであればこれでうまくいっていましたので、簡単に出来るものだと思っていたのですが、 これはたぶん、私が根本的なことをわかっていないのだと思います。 ご教授頂けましたら助かります。

  • エクセル 関数の中で他のセルの数値を参照させれませんか?

    エクセルについてお教えください。 関数の式の中で、式の一部を他セルの数値から引っ張ることはできないでしょうか? 具体例を示しますと   =IF(A○>0,B△,C×) のような関数の際に、「A○」の○の部分を、「D□」に入力した数値に指定したい場合です。 そのようなことは可能でしょうか?

  • 日付の1/0(土)について

    日付の1/0(土)について エクセル2000です。 工程表を作成しています。例えばですが、B1に日付(5/14(金))を入力し、B1参照にB5 (=B1)にB1の日付入力をしたいです。B1が空白(0値)の場合は当然B5の表示は1/0(土)と表示しますが、これを(このセルのみ)0又は空欄(非表示)にできますでしょうか?オプションで0値非表示等がありますが、参照先の他のセル(文字データ等が入力されています。)関係では0値を表示させて、未入力確認をしたいです。ですので日付を表示させるセルのみです。素人で質問文がうまく書けませんがよろしくお願いします。

専門家に質問してみよう