- ベストアンサー
#REFが表示される場合別の式にする方法
- エクセル2003で、特定の計算式の場合には異なる式を使用する方法を知りたいです。
- データを整理する際、サンプルのデータがない行を非表示ではなく削除して整理したいですが、削除すると計算結果が参照できずに#REFとなります。
- 特定の計算式の場合にはIF関数とISERRORを使用して別の式を指定することはできません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- エクセル2003で作成した表で、REFが表示される
エクセル2003で、表を作成しました。ただしデータを別のエクセルで作った表から参照しているのですが、D列のデータからE列のデータに参照を変えるため置換で、検索する文字列を!D 置換後の文字列を!Eにしたところ、=!Dで入力していたセルは!Eに置換できたのですが、=SUM(!$C:!D)という式を入力していたセルはREFと表示されてしまいます。ただし参照もとのデータが起動している場合はREFが表示されず、C列からE列の合計金額が表示されます。 C列からD列に置換を行った際は、計算式の入ったセルも!Cから!Dに置換ができました。同じ計算式を再度入力してもREFが表示されます。REFが表示されず計算結果が表示されるようにするにはどうしたいいでしょうか。教えてください。
- 締切済み
- オフィス系ソフト
- リンク元の行を削除すると♯REF!が表示されます。
2つの別々のブックで、単純に「=」でデータを引っぱっているのですが、リンク元の不要な行を削除するとリンク先の該当する行に♯REF!が出てきます。 Book1(リンク元のデータ) A B C 1 2000 9000 3000 2 5000 4000 6000 3 7000 1000 8000 Book2(リンク先のデータ) 単純に=[book1.xls]sheet1!A1という感じで数式を貼っています。 book1の2の行を削除すると A B C 1 2000 9000 3000 2 #REF! #REF! #REF! 3 7000 1000 8000 という具合です。 自分としては、Book1の3行目以下のデータが上に繰り上がって欲しいのですが。 どのようにすればいいですか?
- ベストアンサー
- オフィス系ソフト
- シート削除して同名シート追加するも#REFになる
製品データを週1回まとめているのですが、データ量が多いため その都度、製品データのシートを別ファイル(データまとめ)に追加しています。 シートの追加をする際、古いデータシートは削除してから追加します。 シートの追加方法は、マクロで行っています。 Private Sub CommandButton2_Click() Workbooks("製品データ.xls").Worksheets("データ").Copy _ After:=Workbooks("データまとめ.xls").Worksheets("まとめ") End Sub 別ファイル(データまとめ)のまとめシートのB2セルには以下の数式が入っています。 INDIRECT関数を使用していますが、シートの削除(製品データ!)を行うと、#REFとなります。 =IF(ISERROR(VLOOKUP($A2,INDIREDCT(製品データ!$B$2:$G$93),4,0)),"データなし",VLOOKUP($A2,INDIRECT(製品データ!$B$2:$G$93),4,0)) 数式に何か落ち度があるのでしょうか? シートの削除・追加をしても、数式がエラーにならない方法を探していますが #REFの置き換えをする方法しかないのでしょうか? その他の方法で解決策がありましたら、何卒ご教示お願いします。
- ベストアンサー
- オフィス系ソフト
- #ref!エラーその2
これも先の#REF!エラーで質問したと同じ、ネットからダウンロードしたexcelファイルですが、実例でお聞きします。 セルr644には=if(b645="","",if(q644="kai",b645-f644,if(q644="uri",f644-b645,""))) とあって、最終データ行(645)のセルr645にコピーしますと、"ref!エラーとなります。この式は、最終行の翌日のセルb646にデータがあるときだけ計算するようになっています。それで今R646にだけデータを入力した状態であるのに#ref!エラーとなります。実は645行に当初は入力しうまくいっていたのですが、別スレッドの行削除を行った後、このエラーになります。しかし現にr646にはデータが存在するので納得できません。 ヘルプの数式の検証で見てみても、B646とあるべき部分が#ref!となっているだけなので、実際の文字が何かわからず、原因を調べにくく感じています。 何が原因と考えられるでしょうか。どうも人様の作ったファイルを読み解くのは骨が折れます。
- 締切済み
- オフィス系ソフト
- #ref!エラーその2修正
別スレッドの#ref!エラーその2を修正した質問です。先の質問は無視願います。あとで削除します。 これも先の#REF!エラーで質問したと同じ、ネットからダウンロードしたexcelファイルですが、実例でお聞きします。 セルr644には=if(b645="","",if(q644="kai",b645-f644,if(q644="uri",f644-b645,""))) とあって、最終データ行(645)のセルr645にコピーしますと、"ref!エラーとなります。この式は、最終行の翌日のセルb646にデータがあるときだけ計算するようになっています。それで今B646にだけデータを入力した状態であるのに#ref!エラーとなります。実は645行に当初は入力しうまくいっていたのですが、別スレッドの行削除を行った後、このエラーになります。しかし現にB646にはデータが存在するので納得できません。 ヘルプの数式の検証で見てみても、B646とあるべき部分が#ref!となっているだけなので、実際の文字が何かわからず、原因を調べにくく感じています。 何が原因と考えられるでしょうか。どうも人様の作ったファイルを読み解くのは骨が折れます。
- 締切済み
- オフィス系ソフト
- IF関数を使って#REF!がでないようにする方法
Excel初心者の質問です。 INDIRECTの関数を使ってほかのセルのデータを参照するようにシートを作りました。 参照する先にデータがない場合、#REF!と表示されてしまいますが、見づらいのでIF関数を用いて、もし#REF!だったら表示しない、という設定にしたいです。 A1に設定をすると、 IF(INDIRECT(A2)="","",A1) となるのかと設定してみたのですが、うまくいきませんでした。 どうしたら私が思うような設定になるのかご教示ください。
- ベストアンサー
- オフィス系ソフト
- エクセルのエラー非表示について
ちょっと説明しにくいのですが聞いてください。 シート1に参照元の値があり、シート2に数式があります。さらにシート2の数式での値をVLOOKでシート1に読み込ませています。最終的に印刷するものはシート1です。 シート1でいらないページを行ごと削除すると。シート2では参照元が削除されたので数式内で『#REF!』のエラー表示があり、当然セル上にも『#REF!』のエラーが表示されます。 このエラー表示をゼロもしくは表示しないようにしたいのですがどのようにすればいいでしょうか。一般的には、『ISERROR』関数を使用するんでしょうけど、数式の中に『#REF』があるためかどうかはわかりませんが、『この関数に対して、多すぎる引数が入力されています。』という警告が表示され、できません。どなたかこの解決方法を教えてください。 ちなみにエラーの文字を白くとかはダメで、完全に0などのほかの数値か表示なし””がいいです。
- ベストアンサー
- オフィス系ソフト
- エクセルで0を除く平均値と0の平均値を同時に表示させる方法について
エクセルで、0を除いた平均を、 {=AVERAGE(IF(A1:A10<>0,A1:A10,""))}の数式を使って求めた場合、 データがすべて0の列の平均はエラー値になってしまいます。 すべてが0の場合は0と表示させたいのですが、どのような方法がありますでしょうか? 1つの計算式を使って、上記の2つの処理は可能でしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel VBA マクロ処理 リンク先参照変更方法
Excel VBA マクロ処理 リンク先参照変更方法で質問です。 データがあるsheet名を『データ』、 平均を集計するsheet名を『平均集計』とします。 行いたい処理は 『データ』にある【 】内の5コのデータの平均値をまとめたい。 『平均集計』に平均値を集計してまとめる。 5コデータの平均値を既に参照指定済のsheetを使用します。 ***『データ』詳細********** 縦軸【1×5】×25項目 = 130行 横軸に13列 A~M列 ************************** ■教えて欲しい処理部分はここ! 『平均集計』リンク参照先を一気に変更させたい。 ActiveCell.FormulaR1C1 = "=AVERAGE('リンク参照'!R[★]C:R[★]C)" ↑上記のリンク参照先を一気に変更させる方法はありますでしょうか? 例> ActiveCell.FormulaR1C1 = "=AVERAGE('リンク参照先変更'!R[★]C:R[★]C)" のように…。 あと補足で、教えて欲しいのですが… ★データが追加された場合 例>5 → 7 この時行う処理方法がよくわかりません…。 単発だと ActiveCell.FormulaR1C1 = "=AVERAGE('リンク参照先変更'!R[1]C:R[7]C)" で可能ですが… ↓ 複数になると… x=1 y=7 FOR i=1 to 25 ActiveCell.FormulaR1C1 = "=AVERAGE('リンク参照先変更'!R[x]C:R[y]C)" x=y+1 y=y*(i+1) NEXT …エラーになりました。 追加処理の場合、どのような方法がありますでしょうか? 以上、アドバイスよろしくお願い致しますm(__)m
- 締切済み
- Visual Basic
- どちらが一番が高くなるのでしょうか?サンプル数が違う場合
たとえば・・・ (1)サンプル数が5個 平均値が0.5 標準偏差が0.2 (2)サンプル数が50個 平均値が0.4 標準偏差が0.2 (3)サンプル数が100個 平均値が0.3 標準偏差が0.3 というデータがあったとして・・・ 信頼性を考えてどれが一番高くになるのでしょうか? よろしくお願いします。 また、計算式なども合わせて教えてほしいです。 (エクセルシートなどあればすごくありがたいです。)
- ベストアンサー
- 数学・算数
お礼
ありがとうございます。 ちょっと自分のIF式の考え方が間違ってたようで、またひとつ勉強になりました。