Q&A

回答の並べ替え:
投稿新規に質問を投稿する

負の値の表示について

tjtr tjtr

2022-10-14 16:46

質問失礼致します。

現在DBから取得した負の値の表示方法を”-123”ではなく、”▲123”の様に表示したいと思っています。
Excelの場合、書式設定で設定可能ですが、CELFの場合、赤文字表示か”-”表示しかないので、何か方法がありましたらご教示頂いてもよろしいでしょうか?

思いついた方法としては、データ表示時は”-123”の様に表示し、”-”を全て”▲”に置き換えるというものですが、データ数が多いため、そのような置換処理を行うと処理が重くなるため、この方法は避けたいです。
よろしくお願いいたします。

Yexiongmao Yexiongmao
こんにちは。

SUBSTITUTE関数は、数値のままでも"-"を"▲"に替えて表示します。
前の回答では書式を文字列にしましたが、標準のままでも問題ありませんでした。
また、関数は計算結果値を引数にしますので、固定値に置き換える必要はありません。
しかし、データを表示するのに5秒以上かかるということなので、シートが相当重くなっているとおもわれます。
軽いシートであれば数千件の処理が一瞬で終わるとしても、重いシートの場合どのくらい時間が掛かるかわかりません。
むしろ、シートを軽くする意味でも、計算式で埋めている部分を、アクションで計算結果を埋めてゆき、その際同時に"-"を"▲"に置換してしまう等を考えたほうが良いかもしれません。

tjtr tjtr
回答ありがとうございます。
処理としては表示している固定値の”-”部分を”▲”に置き換えているイメージであってますか?
表の中身を見て、該当するデータをその形式に置き換えて表示するしか手段がないってことであれば難しいかと思います。
というのも、通常のデータを表示するだけでも5秒以上かかってしまい、更に時間がかかるのは、少し避けたいという点と、
表中には計算式を入れ込んでいる部分も多く含まれているため、その計算結果値から固定値にすべて置き換える処理をした後に、”▲”への置換処理が必要になってくるため、最初から表示形式を指定する方法がないのか気になりました。
説明が足らず、申し訳ございませんでした。
Yexiongmao Yexiongmao
こんにちは。

3,800行のデータで画像のアクションで試しましたが、ほぼ一瞬で処理は終了しました。
C列の書式は文字列、D列は右詰めにしています。
試しに20000件ほどで実行したところ、3秒ほどで終了しました。