• 締切済み

隣のセルの値を参照させたい@excel(エクセル)

エクセル初心者です。 C列に計算式が入ってるとします。ブランクの場合と数字の場合とがあります。隣のD列に、C列の値もしくはブランクをそのまま参照させたいのです。(C1が20ならD1も20に、C2がブランクならD2もブランクにしたいという意味です) また、D列の値を参照して、G列に計算式が入ってます。 (元々はD列には手入力で数字を入力するつもりで計算式を組みました。その後、C列とD列が全く同じものでよくなったので、タイトル通りの質問になりました。 ただ、値は同じものでよいのですが、C列とD列は意味合いが違いますので、D列を作らないわけにはいきません。) まずやってみたのは、例えばD1に「=C1」といれてみました。そうすると、D1は上手くいくのですが、D1を参照してる、少し離れたG1が「#VALUE!」となります。 条件付書式とかも試してるのですが、イマイチうまくいかず。 何かよい解決方法はないでしょうか?

みんなの回答

  • masah43
  • ベストアンサー率42% (3/7)
回答No.7

>奇数行もブランクにする方法はないでしょうか? 奇数行に色づけしている理由がわかりませんが 「“奇数行”かつ“自セルの値が0でないとき”に色づけする」 と考えればできるのではないかと。 条件付書式はAND関数をつかうことができます。調べてみてください。

  • masah43
  • ベストアンサー率42% (3/7)
回答No.6

No.5です。 計算式が返したブランク""は文字列と同じなので計算することができません。 またG列の式を変えたらきっと他の列も直すことになりますよね? 大きな表のようですから、""を回避するために式を複雑にするよりはC列が必ず数字になるようにする(結果を""にせず0にする)ことを考えたほうが楽ではないかと思います。 あとD列には式があったり未入力だったりのようですが、理由がないなら式は全行に入れておいたほうがよいですよ(ミスの元です)。

tori-chan
質問者

補足

レス有難うございます。 >たとえばD1ならば IF(C1="",0,C1) とし、 0を見せたくない場合は条件付書式で0のときフォントの色を白にすれば見た目は問題なさそうですが… 早速、D1ならば IF(C1="",0,C1) としてみました。そして、条件付書式で0のときフォントの色を白に、をやってみてるのですが、ここで、更に補足なのですが、条件付書式はすでに表全体にはいってまして、それが【=MOD(ROW(),2)=1】奇数行の色づけ、色は緑です。なので、追加で2つめのBOXでD列全体を指定し、「セルの値が」「次の値に等しい」「0」 「書式」のフォントの色を「白」でやったところ、一行おきに(偶数行のみ)ブランクになります。奇数行もブランクにする方法はないでしょうか? たびたびでお手数ですが、よろしくお願いします。

  • masah43
  • ベストアンサー率42% (3/7)
回答No.5

G列が#VALUE!となるのは、G列の式が「D列がブランク」では計算できないからだと思われますが違いますでしょうか? であれば、 >C列の値もしくはブランクをそのまま参照させたい とはなりませんがC列がブランクのときD列を0にしてしまえばよさそうですがどうでしょう? たとえばD1ならば IF(C1="",0,C1) とし、 0を見せたくない場合は条件付書式で0のときフォントの色を白にすれば見た目は問題なさそうですが… ご参考までに。

tori-chan
質問者

補足

レス有難うございます。 >G列が#VALUE!となるのは、G列の式が「D列がブランク」では計算できないからだと思われますが違いますでしょうか? G列の式は、D列=ブランク(計算式も何も入っていない、本当のブランク)、もしくは(計算式が入ってる入ってないに関わらず)なんらかの数値が入る、そのどちらかを想定しています。 なのでG列が#VALUE!となるのは、D列=「計算式が入っていてしかもブランク」であるからだと思います。 この場合、「計算式が入っていてしかもブランク」を、数式と認識させるにはどうすればいいのでしょうか? もしくは、G列の計算式を変えるしかないのでしょうか?

回答No.4

もう 面倒くさいから C列を全部選択して D列に「値で貼り付け」をしては?

tori-chan
質問者

補足

レス有難うございます。 G列のみのエラーならばそれでも十分なのですが、このG列以外にも、左のいくつか手前のセルを参照させてる列が、全部で12列あります。 つまり、G列のようなエラーがあと11列あるということです。 なので、どうにか、計算式をいれてうまくいく方法を探しています。 意味が伝わりにくいと思いますので、このシートの内容を申し上げますと、今年度分の得意先元帳なのです。今までは1ヶ月分が1枚で処理してたので、印刷して保存するときはそのままでよかったのですが、入力するときは、売掛金次月繰越額を、翌月のシートの売掛金前月繰越のところにコピーして使ってました。 ただ、例えば4月に売上があって、次の売上が9月、みたいな得意先もありますし、複数月にまたがって入金されるケースなどがありその他もいくつか不便な点があったので、今回、一枚のシートで12ヶ月分見られるように手直し中なのです。つまり、今までのシートをそのままつないだので、4月の次月繰越額のとなりのセルに、5月の前月繰越額がくるようにしています。値は同じで意味合いが違う、というのはそういう意味です。 ただそのままでは、4月の次月繰越額と、5月の前月繰越額がリンクしてないので、数ヶ月にまたがって入金処理がされるような取引先の売掛金残額が翌月以降に反映されず、今回の質問にあいなりました。ちなみに例えていうと、質問文中のC列=4月分の次月繰越額、D列=5月分の前月繰越、G列=5月分の売掛金残額 となります。 実際には、それらのセル以外にも、税抜き売上額を入力すると自動で税込売上額が入るなど、計算式の入ったセルがいくつかあります。 今回のケースでは、4月から毎月売上がある行は問題ないのですが、例えば6月に初めて取引があった取引先の場合、6月末の売掛金も残額はモチロン、7月以降の残額も全てが「#VALUE!」状態なので、困ってます。

  • tgook
  • ベストアンサー率48% (96/198)
回答No.3

ちょっとやってみた結果を貼り付けます。 (1) ~ (3)条件でなら、(4) で (5) のことはできます。 (1) C1 には 0以上の値を入力する (2) D1 に =IF(C1>=0,C1,"") と入力 (3) G1 に =IF(D1>=0,D1,"") と入力 (4) C1 に何か入力( 1 や 33 など ) (5) D1, G1 に同じ値が表示される。 C1 が ブランク だと D1 と G1 も ブランク になります。 全てのセルの表示形式は、数値である必要があります。

tori-chan
質問者

補足

レスありがとうございます。 C列、G列にはすでに計算式が入ってますので、新たな計算式の追加は不可能と思います。 触ることができるのはD列のみです。

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

> D1を参照してる、少し離れたG1が「#VALUE!」となります。 「#VALUE!」は、引数の種類が正しくない時に表示されます。 D1セルに入力している数式をご確認ください。

tori-chan
質問者

補足

レスありがとうございます。 よろしくお願いします。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

G列の計算式を提示していただくと確実な回答が得られると思います。 >C列の値もしくはブランクをそのまま参照させたいのです ならば =C1を =IF(C1="","",C1) に変更してみてダメでしょうか。

tori-chan
質問者

補足

早速のレスありがとうございます。 >G列の計算式を提示していただくと確実な回答が得られると思います。 ちなみにG5 ↓ =IF(AND(AW5="",AY5="",BC5=""),"",IF(BC5="",AW5-AY5,AW5+BF5-BG5-BH5-AY5)) (ただし、質問文のC列=AV列、D列=AW列、G列=BI列と読み替えが必要です。) また、ちなみにAV19には =IF(AND(AU19="",AT19=""),"",IF(AND(AT19="",AU19<>""),AU19,AT19+AU19)) が入ってますが、参照セルが未入力のため、AV列は今のところブランクです。 また、参照セルに数字を適当にいれてみたところ、G列のエラーは消え、計算式どおりの数値が入りました。 つまり、C列がブランクだとエラーがでるようです。 ただ希望は、たとえばC列がブランクの場合もC列をゼロと認識し、E列、F列の数字から計算してG列に数値が入ってほしいです。 >=C1を =IF(C1="","",C1) に変更してみてダメでしょうか。 駄目でした。G列はやはり、「#VALUE!」となります。 ここにエクセルの表をはれたらいいのですが、、、説明が言葉足らずでわかりにくいと思いますが、どうぞよろしくお願いします。

関連するQ&A

  • INDIRECT関数で隣のセルの値を参照させるとエラー値#REF!が@excel(エクセル

    エクセル初心者です。 「月次」というシートのC列に計算式が入ってるとします(←DATE関数とMONTH関数、IF関数の組み合わせ)。C列の見た目は、C1が1、C31が31、のように、縦に1~31の数字が入っているように見えます。 例えば、B1に月の数字を入れると、C列の数字がその月に対応して見た目が変わります。例えばB1が7月だとC列は31日まで表示され、2月だと28日まで、のような感じです。でも、計算式は31日分入っているので、例えばC31は、月によって、見た目がブランクになる場合と数字になる場合とがあります。参考ページ:http://kokoro.kir.jp/know/calendar2.html ここで隣のD列に、見た目でC列に数字が表示されてるときは、別シートの数字を返したいとします。その参照させたいシートは31枚あり、例えば「1」というシートのD5の値を、「月次」のD1に返したい、という意味です。ただ、見た目でC31がブランクのときは、D31には何も返さず空白にしたいのです。 参照させたいシートが31枚あるため、オートフィル機能を使いたく、そこで、INDIRECT関数を使ってやろうとしてるのですが 参考ページ http://www.relief.jp/itnote/archives/001697.php 上記のとおりやろうとすると、「月次」のD列に#REF!がでます。 (エラーの出る計算式:INDIRECT(C1&"!D5")」 試しに「月次」のK列あたりに、1~31まで手入力して数字をいれ、そのセルを参照させるとうまくいくのですが、 (この場合の計算式:INDIRECT(K1&"!D5")」 ただ、30日の月や28日の月もあり、毎回K列を変えないといけないので、何とかC列を参照させたいのですが、何かよい解決方法はないでしょうか?

  • エクセルのセル参照

    エクセルで隣にくるセルを参照したいのですが、どうすればよろしいでしょうか。 F列に計算式を入れるのですが、C、D、E列を非表示にした場合、B列の値を取ってくる。というような感じです。 それが、D,E列を非表示にした場合はC列の値を取ってくるみたいな感じで、自動的に隣のセルとして認識してくれる関数みたいなのはありますか。

  • Excelで隣のセルを参照して色分け

    こんにちは。 Excelの表で、例えば会社名がA列のセルにあって、 B列に営業担当が入力されているとします。 A列    B列 ◎会社  山田 △会社  鈴木 A列の会社名のセルををB列の担当を参照して、山田なら黄色、鈴木なら青 の様に書式設定をしたいのですが、どの様に設定したら良いでしょうか? 条件付書式だとそのセルのみを参照ですので、隣のセルを参照してと いう設定は出来ますか? よろしくお願いします。

  • エクセル:複数セルからの参照

    お世話になります。 A,B,C列にデータが入っています。 D,E,F列に参照のためのデータがあります。 A,B,C列はそれぞれD,E,F列に対応しています。 A,B,C列と同じ並びのデータが入っている行をD,E,F列から探し、その隣のG列の値をH列に返す。 D,E,F列の並びが重複する行はありません。 A,D列は場所の名前、B,C,E,F列には数字が入っている。 例) A1に事務室 B1に20 C1に3 が入っているとする。 D/E/F列が 事務室/20/3 の並びになっているのが10行目の場合、H1にG10のセルの値を返す。 この場合、H列にはどんな計算式を入れておけばよいのでしょうか? A,B,C列と同じ並びのデータがD,E,F列で見つからない場合は空白をH列に返す。 ちなみにD/E/F列が 事務室/20/3 の並びになっている行は10行目しかないです。 よろしくお願いします。

  • ある条件の下でセルに値を入力するには??

    以前、似た様な質問をしたのですが、 今回は、色を付けるのではなく、値を入力することになったのですが 具体例としては ....A........B.......C.......D.......E........F..........G..........H..........J..........K 1 ....................8:00..9:00..10:00..11:00..12:00..13:00..14:00..15:00 2 ..8:00 12:00 1.....1.......1..........1..........1 3 10:00 15:00..................1..........1..........1..........1...........1..........1 このような感じにしたいのです。 (A2からB2間の時間を1行目を参照して2行目のC2以降の セルに値を入力する) 『.』は、あわせるために入れたので気になさらないでください。 色がつけるのは条件付書式で解決しました。 ですが、今回は値を入力する形にして セル内に数値が入力されていると 条件付書式で色を付けたいと考えております。 どうか、ご教授していただけないでしょうか? ちなみに、これはマクロで可能なのでしょうか?

  • Excelで飛び飛びのセル(列)を参照したいのですが…その2

     ある「sheet1」で、G1="A",H1="B",I1="C",J1="D",K1="E",L1="F",M1="G",N1="H",O1="I",P1="J",Q1="K",・・というように文字が入力されているとすると、5列飛びの値A,F,K・・・(G1,L1,Q1・・・)が欲しいのです。そして、その値が「sheet2」に、C5=A,D5=F,E5=K,F5=P・・・となるようにしたいのです。ただ数値が5ずつ増加するのではなく、そのセルに入力されている文字列を参照したいのです。  それをまた、「sheet1」の、G2="A",H2="B",I2="C",J2="D"・・・の値でも同じ事をしたいのですが・・・。  よろしくお願いします。

  • エクセルで空白を無視して一番左にあるセルを参照したい

    エクセル2003を使っています。 上手く説明できないので恐縮ですが、教えていただけると幸いです。 例えば、下記のような感じの一覧があるとします。 (**の部分は数字です。)  A B C D E F G 1  **   ** ** ** ** 2    **   ** **   3        ** ** ** 4    **   **   ** =1行目の合計/1行の一番左にあるセル =2行目の合計/2行の一番左にあるセル      : といった感じで空欄を無視して一番左側にある数字を参照して計算したいと考えています。 もしくは他に言い換えれば、行の一番最初に入力したセルを参照したいというべきかもです。G列以降にも都度、都度、数字が追加される感じです。 空欄に規則性はありません。あったりなかったりです。 条件付き書式、関数でできるものだと、とても助かります。 説明足らずなところはご指摘頂ければと思います。 よろしくお願いいたします。

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

  • Excelにおけるセルの参照方法について

    少し複雑なセルの参照方法について、分からなくて困っています 例えば、A1~K1 A2~K2 A3~K3     A4~K4  にある値が入力されているとき、 A10に[=A1]と入力した場合は、隣のB10にD1の値を、C10にG1の値を、D10にJ1の値が出力され、 A10に[=A2]と入力した場合は、隣のB10にD2の値を、C10にG2の値を、D10にJ2の値が出力され、 以下[=A3][=A4]の場合も同様に出力されるようにするためにはどうすればよいのでしょうか? 関数の組み合わせなどで解決できるのでしょうか?実際にはもっと膨大なデータを処理しなければならず、現在は手入力で非効率的な作業を行って困っています(^^;)どなたかご教授お願いしますm(__)m

  • エクセルで一致するをセルを参照して入力したい

    お世話になります。 わかりにくいタイトルで申し訳ないのですが以下の場合について教えてください。 A列に1,2,3,4,5・・・というように重複しない数字が入っています。 C列にも1,3,4・・・など重複しない数字が入っています。(1と3の間に空白セルはない) D列には任意の文字が入っています。 C列の数字と同じ数字は必ずA列には存在します。(逆にA列の数字がすべてC列にあるわけではない) ここであいているB列にその左のA列と同じ数字をC列から探し、その右側のD列の文字を入力したいのです。 (A列と同じ数字がC列にない場合は空白にする。) 例 A1:1 C列で「1」が入っているセルがC1、D1:みかん の場合 B1:みかん とする A2:2 C列に2がない場合 B2:空白 A3:3 C列で「3」が入っているセルがC2、D2:りんご の場合 B3:りんご とする この場合B列にはどのような計算式を入れておけばよいのでしょうか。 よろしくお願いします。 Excel2002です。

専門家に質問してみよう