* 簡単にできる連続データの作成について [#x19a9860]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|きよし|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(低,faq03,priority)|
 |~状態|#listbox3(回答中,faq03,state)|
 |~状態|#listbox3(完了回答待ち,faq03,state)|
 |~カテゴリー|#listbox3(Calc 表計算,faq03,category)|
 |~投稿日|2011-08-19 19:57:43 (金)|
 |~OS|Windows XP SP3|
 |~依存するページ||
 |~バージョン|#listbox3(3.3.0,faq03,version)|
 
 ** メッセージ [#va1e128f]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 商品管理にオープンオフィスのCalcを使ってます。~
 商品番号は[日付] - [通し番号]でつけてます。~ 
 
 本日の最初の商品 例:20110819-001~
 本日の50個目の商品 例:20110819-050~
 本日の123個目の商品 例:20110819-123~
 
 このときの商品番号の作成方法としては・・・~
 
 【1】通し番号を作成  :  最初の001を入力したセルを選択 → 右下にカーソルを合わせて + にして → 下にドラッグ で123まで~
 【2】日付部分をコピー  :  20110819-~
 【3】通し番号の最初部分にひたすらペースト~
 
 ・・・という作業をしてます。~
 
 この作業をドラックひとつで、日付部分を変えないで通し番号だけを変えることは可能でしょうか?~
 
 ちなみに、私の勘違いでなければ、エクセルではできた記憶があるのですが・・・~
 
 いろいろ試してみたのですが、なんともいかないです。~
 
 初歩的な質問ですいませんが、よろしくお願いします。~
 
 
 ----
 ***「形式を選択して貼り付け」を使う [#e00d71d6]
 >まつい (2011-08-19 20:38:07 (金))~
 ~
 添付ファイル「商品管理.ods」のD列のデータをコピーして、「形式を選択して貼り付け」で「テキスト」として貼り付けるというのはいかがでしょうか。~
 
 //
 ***D2に =$A$2&"-"&B2 では [#pdb5727c]
 >mr_happy (2011-08-20 08:22:06 (土))~
 ~
    A            B          C           D  
  本日の日付  通番初期値             商品番号
  '20110819     '001               20110819-001  
 D2のセルには =$A$2&"-"&B2 の数式がある~
 A2,B2の先頭に「'」を付けておく~
 B2からD2を選択し下にドラッグ~
 ~
 これではいけませんか?~
 本当はB2からのドラックはしないで、D2だけ下にドラックしたいけれどちょっと数式が厄介です。~
 
 //
 ***文字列の置換を使う [#s6722f25]
 >まつい (2011-08-20 09:59:15 (土))~
 ~
 こんな方法もありますね。~
 ~
 「日付001」と記入したセルの「+」ハンドルをドラッグする。~
 「日付002」~
 「日付003」~
  ………  が作成される。~
 その状態で、「編集」−「検索と置換」コマンドを使って、「日付」の文字列を「20110819-」に置換(「すべて置換」)する。~
 
 //
 ***全角→半角変換を使う [#h414f967]
 >まつい (2011-08-20 10:18:02 (土))~
 ~
 さらに簡単な方法を見つけました。~
 商品番号の[日付]-[通し番号]ですが、「−」が全角なら連番を作成できますね。~
 ~
 (1)「20110819−001」とマイナス記号を全角で記入して、ドラッグで連番を作成します。~
 (2)作成した範囲を選択した状態で、メニューから「書式」−「文字種の変換」−「半角」コマンドを実行します。~
 ~
 いかがでしょうか。~
 
 //
 ***無題 [#s4dd5523]
 >きよし (2011-08-20 18:36:56 (土))~
 ~
 丁寧にありがとうございます!~
 お手数かけまして恐縮です!~
 目から鱗でした。。~
 助かりました!~
 
 //
 ***気になったので再び [#k93651ad]
 >mr_happy (2011-08-21 09:12:48 (日))~
 ~
    A	     B
  日付	2011821・・・・・ =INT(NOW()+1971045) かつユーザー定義で YYYYMD として数字だけで年月日を自動的に表す。
  通番	 商品番号
   1	2011821- 001・・・=$B$2&"-"&IF(A3<10,"00",IF(A3>99,"","0"))&A3
   2	2011821- 002
   3	2011821- 003
  ・・・・・	
   9	2011821- 009
  10	2011821- 010
  11	2011821- 011
  12	2011821- 012
  13	2011821- 013
  ・・・・・・・
 通番初期値の代わりに通番を作り代用します。~
 A3とB3を一緒に下にドラッグ~
 
 //
 ***2行のデータからオートフィル [#j288e444]
 >M.Kamataki (2011-08-22 22:20:45 (月))~
 ~
 A1セルに「20110819-001」、A2セルに「20110819-002」と入力し、A1、A2セルを選択してA2セル右下のオートフィルハンドルでドラッグすれば、ご希望のようになると思います。~
 ~
 マイナス記号については、faq/5/29「Excelとのオートフィルの認識の違い」でも触れており、今回と同じ解決方法を紹介しています。~
 ~
 なお、マイナス記号を使ったときは、faq/5/29のようなオートフィルすると数字が減る現象も起きるのでBugZillaに登録したほうが良いかもしれません。~
 
 //
 ***何のことはない [#if1a143e]
 >mr_happy (2011-08-24 12:49:00 (水))~
 ~
 >オートフィルハンドルでドラッグすれば~~
 これが一番手っ取り早く簡単ですね。~
 
 //
 #article