重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Open OfficeのCalcで商品の管理をしています。
それぞれの行の先頭には商品の通し番号を表示するセルがあります。

これは商品名を入力すると自動で表示されるようになっています。
例えば、2商品目であると「=IF(B2="","",A1+1)」という式が入っています。

つまり、2行目の商品名が空の時は、何も表示していなくて、
商品名を入力すると上の行の商品番号+1が自動で表示されるという式です。



問題なのは、時々入力し忘れた商品を後から行を増やして挿入したいという場合です。

行の挿入をすると、この商品番号が飛んでしまいます。



今の解決策としては、商品番号の一番上の式を一番下までコピーし直すことで解決しています。

しかし、行の数が増えるに従ってこの作業が非常に面倒になります。

何とか行を増やしても商品番号の数式が狂わない方法はないでしょうか?

よろしくお願いいたします。

A 回答 (2件)

No.1です。



> 実際は行番号と商品番号の数字が異なるので、行番号を取り出して商品番号に使用することは出来ません。

行番号と違っていても同じ数式が使えます。

例えば、A5に「1」、A6に「2」、A7に「3」・・・の場合は、
セルA5に「=IF(B5="";"";ROW()-4)」を入力します。
(行番号「5」から「4」を彈くと「1」ですね。)
    • good
    • 0
この回答へのお礼

まさにやりたかったことが実現できました。

親切丁寧な回答をくださり、誠にありがとうございました。

本当に感謝いたします。

お礼日時:2012/10/10 00:38

> それぞれの行の先頭には商品の通し番号を表示するセルがあります。


> 何とか行を増やしても商品番号の数式が狂わない方法はないでしょうか?

セルA1に「1」、A2に「2」、A3に「3」・・・と表示してあって、途中に「行の挿入」をすると、
1,2,3,4,5,空白,6,7,8,・・・となってしまうため、以降のセルを修正する必要があると言うことなら、
A2に「=IF(B2="";"";ROW())」を入力しては如何でしょう? 以下をコピーすれば、
(A1に「=IF(B1="";"";ROW())」としてもOKです。)
1,2,3,4,5,空白,7,8,・・・となりますので、空白の部分だけをコピーすれば良いことになります。

「ROW|行番号を取り出す」
http://www.freelance32.net/openoffice/calc-funct …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

> セルA1に「1」、A2に「2」、A3に「3」・・・と表示してあって、途中に「行の挿入」をすると、
> 1,2,3,4,5,空白,6,7,8,・・・となってしまうため、以降のセルを修正する必要があると言うことなら、

症状としましては、まさにその通りです。

私の質問が正確ではなくて悪かったのですが、実際は行番号と商品番号の数字が異なるので、行番号を取り出して商品番号に使用することは出来ません。

質問が不正確ですみませんでした。
また、丁寧なご回答、ありがとうございました。

お礼日時:2012/10/09 22:17

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