プロが教える店舗&オフィスのセキュリティ対策術

エクセル初心者です。

C列に計算式が入ってるとします。ブランクの場合と数字の場合とがあります。隣のD列に、C列の値もしくはブランクをそのまま参照させたいのです。(C1が20ならD1も20に、C2がブランクならD2もブランクにしたいという意味です)
また、D列の値を参照して、G列に計算式が入ってます。
(元々はD列には手入力で数字を入力するつもりで計算式を組みました。その後、C列とD列が全く同じものでよくなったので、タイトル通りの質問になりました。
ただ、値は同じものでよいのですが、C列とD列は意味合いが違いますので、D列を作らないわけにはいきません。)

まずやってみたのは、例えばD1に「=C1」といれてみました。そうすると、D1は上手くいくのですが、D1を参照してる、少し離れたG1が「#VALUE!」となります。

条件付書式とかも試してるのですが、イマイチうまくいかず。
何かよい解決方法はないでしょうか?

A 回答 (7件)

G列の計算式を提示していただくと確実な回答が得られると思います。


>C列の値もしくはブランクをそのまま参照させたいのです
ならば
=C1を =IF(C1="","",C1) に変更してみてダメでしょうか。

この回答への補足

早速のレスありがとうございます。

>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!」となります。

ここにエクセルの表をはれたらいいのですが、、、説明が言葉足らずでわかりにくいと思いますが、どうぞよろしくお願いします。

補足日時:2008/10/10 15:13
    • good
    • 0

> D1を参照してる、少し離れたG1が「#VALUE!」となります。



「#VALUE!」は、引数の種類が正しくない時に表示されます。

D1セルに入力している数式をご確認ください。

この回答への補足

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

補足日時:2008/10/10 15:27
    • good
    • 0

ちょっとやってみた結果を貼り付けます。



(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 も ブランク になります。

全てのセルの表示形式は、数値である必要があります。

この回答への補足

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

補足日時:2008/10/10 15:23
    • good
    • 0

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

この回答への補足

レス有難うございます。
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!」状態なので、困ってます。

補足日時:2008/10/10 20:21
    • good
    • 0

G列が#VALUE!となるのは、G列の式が「D列がブランク」では計算できないからだと思われますが違いますでしょうか?


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

ご参考までに。

この回答への補足

レス有難うございます。

>G列が#VALUE!となるのは、G列の式が「D列がブランク」では計算できないからだと思われますが違いますでしょうか?

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

補足日時:2008/10/14 20:33
    • good
    • 0

No.5です。


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

この回答への補足

レス有難うございます。

>たとえばD1ならば IF(C1="",0,C1) とし、
0を見せたくない場合は条件付書式で0のときフォントの色を白にすれば見た目は問題なさそうですが…

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

たびたびでお手数ですが、よろしくお願いします。

補足日時:2008/10/16 11:58
    • good
    • 0

>奇数行もブランクにする方法はないでしょうか?


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!