質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%

Q&A

解決済

2回答

1254閲覧

excelでRC[-5]+R[-2]C[-5]の値を表示したいのだがどちらかが空白だと式が長いのですが仕様でしょうか?

ma2hiro

総合スコア159

0グッド

0クリップ

投稿2021/04/30 04:46

編集2021/04/30 05:45

お世話になっております。

プログラマから事務担当になったのですが
excelで悶々としているので相談に載っていただけないでしょうか?

件名の通りなのですが
excelで数値の【RC[-5]+R[-2]C[-5]】の値を表示したい場合に
どちらかがNULLの場合

excel

1=IF(R[-2]C[-5]="",IF(RC[-5]="","",RC[-5]),IF(RC[-5]="","",RC[-5]+R[-2]C[-5]))

と記載していて 正直不格好なので

=|R[-2]C[-5]+RC[-5]|

こんな形で表記出来ないのでしょうか?

なんという語句でググれば良い等のアドバイスを頂けますと幸いです……
今まで事務担当だった人は変だと思わなかったのだろうか……

GWに入っている方々もいらっしゃいますと思いますが
私はデスマーチ中なので上記お問い合わせいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/04/30 05:04

前任者は「0」が表示されるのが嫌だったのではないでしょうか?
ma2hiro

2021/04/30 05:25 編集

meg_様 なるほど……仰る通り0と表示されるのが嫌だったのかも知れませんね…… でも空白の場合は”#VALUE!"と表示されるのです…… ””と指定出来れば良いのですが そのような指定はexcelだとTOPのように冗長になってしまうのかな……
meg_

2021/04/30 05:47

> でも空白の場合は”#VALUE!"と表示されるのです…… 具体的にどのセルにどの式を入力して、どのセルとどのセルに何が入力されているとそうなるのでしょうか? 実際のエクセルシートを掲載されても回答しやすくなるかと思います。
ma2hiro

2021/04/30 06:52

meg_さん ご連絡ありがとうございます。 そのように記載しようとしましたが表が結構複雑になので諦めました…… 簡単に言えば ``` 社員番号 今年有給休暇付与数 前年度有給休暇数 合計有給休暇残数 00123      6              【Focusココ】 ``` で【Focusココ】で【今年有給休暇付与数】と【前年度有給休暇数】を足したいだけなのです…… ただ今年入社された方は前年度有給休暇数 が ””なので なんか良い方法無いかと調べていたのですが 見つけられなかったのです……
guest

回答2

0

ベストアンサー

足し算をしたいのですね。

excel

1=RC[-2]+IFERROR(RC[-1]+0,0)

でいかがでしょう。

投稿2021/04/30 07:25

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma2hiro

2021/04/30 08:09

ppaul様 ありがとうございます。 そちらを参考にして =IFERROR(R[-2]C[-5]+0,0)+IFERROR(RC[-5]+0,0) で実装出来ました。 入れ子のif文が無くなったのでちょっと見やすくなりました。 基本的な質問にお答えいただき感謝いたします。
guest

0

でも空白の場合は”#VALUE!"と表示されるのです……

私のエクセルでは再現できないですね。
空白セルは計算するとき0とみなされるようですので。

数字以外の文字が入力されていると、#VALUE!になります。
その場合は、下記の式で#VALUE!を非表示にできます。

excel

1=IFERROR(RC[-5]+R[-2]C[-5],"")

投稿2021/04/30 07:12

hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xail2222

2021/04/30 07:58 編集

エラーになるのはブランクではなく、スペースの事じゃないでしょうか。 スペースだとエラーになるので。 追記)って、ブランクもスペースも意味一緒か…空文字ではなく空白というべきでしたか。 ただ、そんなのはデータが悪いのでデータの方から削除しちゃった方が良いと思う。 エラーの時 0にしちゃったら、不正データが分らなくなるので もうただの足し算のままにして、エラーがあったらデータ修正が良いと思った。
ma2hiro

2021/04/30 07:48

hatena19さん ありがとうございます。 ``` =IFERROR(RC[-5]+R[-2]C[-5],"") ``` だとどちらかに値が入っていた際にも""となってしまうので どちらかに値が入っている場合はその値を入れたいのです。 コメントありがとうございました。
ma2hiro

2021/04/30 07:50

xail2222さん コメントありがとうございます。 元データの持ち方が不味いのは重々承知なのですが そちらは私は修正する権限が無いのでコチラ側で対処出来る方法を模索していたのです。
xail2222

2021/04/30 08:07 編集

権限ですか、やなデータですね。 スペースが含まれていて、そのときにも対応するとなるとTrimも入れないといけないですね。 更に長くなりますが。 ただ、エラーの時に計算されてしまうのは、個人的にはよろしくないと思うので スペースの除去くらいが許容という所でしょうか。 Aなんてアルファベットが入ってたら、データ不正ですと突っ返すべきだと思った 突っ返せないのでしょうか。 Aでも計算すべきなのでしょうか。 だとすると、両方にIFERRORつけるという手しかない気がしますね。
ma2hiro

2021/04/30 08:11

xail2222様 仰る通り両方にIFERRORを付けて実装しました。 とりあえずこちらで凌いでみます。 コメント本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問