牛、豚、鶏、どれか一つ食べられなくなるとしたら?

こんにちは。
仕事で伝票を管理しているエクセルデータを管理ソフトに一括でインポートするため、管理ソフト用のデータ作成をしようとしています。

図のように伝票番号ごとに(色分けごとが1枚の伝票)管理しています。
これを管理ソフトインストール用にするには、1枚の伝票に使用した「桁数」が必要で、更に伝票の最後に1行増え、品名の欄に「伝票番号」がきます。

関数で何とかしようとやり始めましたが、お手上げになりました。

伝票の枚数が多いので、時間短縮できるよう、やり方を教えてくださる方のお力をお借りできるとありがたいです。
お手数をおかけしますが、よろしくお願いいたします。

「エクセルデータをシステムインポートデータ」の質問画像

質問者からの補足コメント

  • こんばんは。
    マクロで変換できると非常に有り難いです(*´ω`*)
    区分けは「伝票番号」です。
    色分けは、伝票が分かれているのが理解しやすいようにしてあるだけで、実際には色分けはしていないです。
    「999」の送料は発生する人もいるし、かからない人もいるので、必ずあるとは限りません。
    1枚の伝票で何品かお買い上げになっていて、送料があったりなかったりです。
    その売り上げがエクセルの表でずらーと並んでいます。
    日付けの順番もバラバラなので「伝票番号」だけが区切りになります。
    わかりずらくて申し訳ありません。
    よろしくお願いいたします。

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/05/24 21:17
  • HAPPY

    すごい!!!すごい!!!すごすぎる!!!!!!
    手品みたいです!!!
    ありがとうございます(≧▽≦)
    わ~、これがあれば業務が進みます。
    実際のデータはもっと沢山の項目がありますが、これは
     For Each k In Array(1, 2, 3, 6, 5, 4) '項目の順序

      With .Range("A1:F1")
       .Value = Array("日付", "桁番号", "品番", "品名", "個数", "金額")
    の項目を増やしていけばいいのでしょうか?

    興奮冷めやらぬ状態です!!
    嬉しいです!

    No.5の回答に寄せられた補足コメントです。 補足日時:2017/05/25 04:59
  • Sheet1は以下の項目です。
    "日付","相手先出荷番号","注文番号","ご注文方法","項目","その他","金額","数量","商品名"

    No.6の回答に寄せられた補足コメントです。 補足日時:2017/05/25 15:17
  • Sheet2は以下の項目です。
    "削除マーク","締めフラグ","チェック","日付","伝票番号","伝票区分","取引区分","税転嫁","金額端数処理","税端数処理","得意先コード","空白1","担当者コード","行番号","明細区分","商品コード","空白2","商品名","課税区分","単位","入数","ケース","倉庫コード","数量","単位","金額","空白3","税抜き金額","原価","原単価","備考","納入期限","受入残数","数量少数桁","単位少数桁","規格・型番","色","サイズ","伝票区分","得意先名1","空白5","空白6","空白7","空白8","空白9","空白10","空白11","空白12","空白13","空白14","空白15","空白16","得意先名2"

      補足日時:2017/05/25 15:18
  • これは、この間の質問で WindFallerさんに教えていただいたマクロで作成しました(*^_^*)
    大変役立っております。
    お世話になりっぱなしで申し訳ありませんが、もうしばらくご指導よろしくお願いいたします。

      補足日時:2017/05/25 15:25
  • すみません。
    Sheet1の”相手先出荷番号”が質問した「商品名」の下にくる「伝票番号」です。
    Sheet2の”伝票番号”は管理ソフト側の伝票番号なので、自動記入のため、関係ありません。
    わかりづらくて申し訳ありませんが、よろしくお願いいたします。

      補足日時:2017/05/25 15:56
  • すみません。
    こちらに書いた方が良かったんですよね。
    もう一度、同じ内容ですが、記載いたします。

    何度もやり直しをしながら作成をしてくださっているようで、本当に有り難く何とお礼を申し上げたらよいかわからない程、感謝しております。
    ありがとうございます。
    以前の質問内容と記述が異なり、紛らわしくて申し訳ありません。

    桁番号は、Sheet1には存在しておらず、Sheet2では"行番号"にあたります。

    Sheet1の”相手先出荷番号”が質問した「商品名」の下にくる「伝票番号」です。
    ですので以前の質問の「伝票番号」⇒「相手先出荷番号」です。

    以前の質問の「品名」⇒「商品名」となります。

    こんな面倒なことをお願いし、申し訳ありません。
    どうぞ、よろしくお願いいたします。

    No.7の回答に寄せられた補足コメントです。 補足日時:2017/05/28 11:58
  • HAPPY

    ありがとうございます(*゚▽゚*)
    本当にご面倒をお掛けし、申し訳ありません。
    本当に本当に助かります。
    ご親切にありがとうございます。
    よろしくお願いしますm(__)m

    No.8の回答に寄せられた補足コメントです。 補足日時:2017/05/30 00:10
  • すご----------い!!ヽ(^o^)丿
    できました!ありがとうございます!
    本当に感動で鳥肌がたちました(#^.^#)
    甘えついでに、もう一箇所だけ教えていただいても宜しいですか?
    これで、もう完璧になり、誰にでも使ってもらえそうです。

    「削除マーク」「締めプラグ」などは伝票を記入する際、必ず同じ数字を記入する必要があります。
    対応表に追加しました。(ピンク色)・・・図①
    マクロを作成できない私は、関数で何とかしようと、Sheet1に追加した欄には「=IF(I4="","","1")」を入れて商品名が入ったら「1」など規定の数字が入るようにしました。
    試してみると図②になってしまいました。
    なりたい形としては図③です。

    何度もお時間をいただき申し訳ありませんが、これが最後だと思いますので、どうぞよろしくお願いいたします。

    「エクセルデータをシステムインポートデータ」の補足画像9
    No.10の回答に寄せられた補足コメントです。 補足日時:2017/05/31 15:34
  • HAPPY

    WindFallerさま
    できました!!!めっちゃ綺麗にできました\(◎o◎)/!
    感動以外ないです。
    本当にありがとうございました。

    >それにしても、今回、詳しい説明をしていませんでしたが、仕様変更にもかかわらず、よく設定・実行ができたことに、かなり驚きました。

    マクロは以前すこーしだけ学んだことがあって挫折しました・・・
    なので、貼り付け場所や実行方法などはわかっているので、なんとかできました。
    こんな魔法のようなマクロを作成していただいたことに深く感謝いたします。
    本当にありがとうございました。

    ベストアンサーは皆さんがよく使用しそうな初めに送っていただいた回答にさせていただきますね。
    長きに渡りお付き合いありがとうございました。
    何度お礼を言っても足りないくらいです。
    本当に感謝です。ありがとうございました。

    No.11の回答に寄せられた補足コメントです。 補足日時:2017/06/05 12:53

A 回答 (12件中11~12件)

一方通行で良いなら


まず、そのままデータ(シート)のコピー
データ - 小計
○グループの基準 伝票
○データの個数
○個数
できた左の[2]をクリックして
個数の部分を選択して[Alt]+[;]
0 を入力して[Ctrl]+[Enter]
金額も同様
[3]でもどして
データ - 小計 [すべて削除]
総合計の行も削除
「伝票」列の[Ctrl]+[H]置換
*データの個数 → (空白)
「品名」列を選択し[Ctrl]+[G]ジャンプ
[セルの選択]●空白セル OK
=B4
[Ctrl]+[Enter]
日付も同様
桁番号はG列としてG2セルに
=IF(B2="",G1+1,COUNTIF(B$2:B2,B2))
フィルハンドルダブルクリック

数式は値ににして列の並びを変える
不要な列は削除
「エクセルデータをシステムインポートデータ」の回答画像2
    • good
    • 1
この回答へのお礼

すごーい!
こんな機能使ったの事がありませんでした。
エクセルはいろんなことができるんですね。
やってみたら、できました!!
ただ、いろんな人がこれをやることになると思うので、もう少し手数が少ない方法があると助かります。
ご親切に教えてくださり、ありがとうございました。

お礼日時:2017/05/24 21:19

桁番号はCOUNTIF関数を使った工数を数えるスタンダードなやり方でできるでしょう。


 =COUNTIF(A$1:A1,A1)
これをC1セルに入力して、必要な行までセルをコピーする…って方法。

日付順に並ぶ品名の下に1行追加してそこへ伝票番号を入れるのは、正直なところ、一つずつ手で修正することを勧めます。
    • good
    • 1
この回答へのお礼

なるほど!
そうやってカウントしていく方法がありますね。
今、一番ネックになっているのは、1番下に1行追加して伝票番号を入れるところなんです(´・ω・`)
そこが自動化できれば助かるな~と思っています。
ご親切に教えてくださり、ありがとうございました(^^)

お礼日時:2017/05/24 21:24

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


おすすめ情報