こんばんは!
明日仕事で使う為に、昨晩から色々試してるのですが
知恵をかして頂ければと思いますm(__)m
エクセルのブックに
sheet1と複数の請求書のsheetか存在します。
sheet1は請求書に必要な情報が入ってます。(データベースのようなものです)
会社名(1) 商品名(1) 商品名(2) 商品金額(1) 商品金額(2)
1 ○○商事 りんご みかん 200 100
2 ○○会社 りんご みかん 250 150
請求書は、取引先独自の請求書が100種類くらいあります。
なので、書式は様々です。
しかし、記載する内容は同じものなので、
例えば、請求書に 会社名(1)と入っていたら(○○商事)
商品コード(1)と入っていたら(りんご)
商品金額(1)と入っていたら(200)などと
置換していく方法はないでしょうか?
商品の種類も3種類しかないので、右に項目を作ってます。
ただ請求書の種類が多いもので・・・
途中まで数式を組んだりマクロの記録で試したのですが
VLOOKUPの数式が残ってしまったり、
次の会社に進んでくれなかったりで
VBAの知識が乏しく調べてもわかりませんでした。
私もまだ調べながら作りますので
もしおわかりになる方いらっしゃいましたらよろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
普通、今までの質問は、請求書の様式が1種類がほとんどだった。
Googleで「imogasi 請求書」で照会のこと。過去回答が出ると思う。
ーー
基本的にこうなると(種類が多いと)、VBAでプログラムを組まないと自動化できないでしょう。
ーー
関数によるとしても、会社名にしても各社入れる場所が違うので、
100種類あれば100通りx項目数のセルに式を埋め込まないといけないだろう。ただコピー貼り付けは可能と思うが。
ーー
そのときSheet1における請求先当社のデータの有る行番号を入れるセルを作るのはどうかな。
例
Sheet1
ーーーー A列 B列
第2行目 東商事名古屋市
Sheet2
Å1に2(東商事を示す)
B3は住所として =INDEX(Sheet1!$A$1:$D$300,2,2)
C4は会社名として =INDEX(Sheet1!$A$1:$A$300,A1,1)
式はほとんど似ているでしょう。第3引数だけ変わる。理屈上そうなります。
B3,C4の場所(セル)は、各会社の様式により決まる。
ーー
Sheet2以下の各社の請求書様式のある、シートのA1
にSheet1のデータの行番号を入れていく。
(作業的には大変だが)
それで内容的にはSheet1のデータが、各シートに収まるはず。
ーー
印刷
そこで(Sheet1以外の)シートを全て選択(Shiftを押しつつ)して1度に印刷できるから、全社分を印刷(各々2枚とかもできると思う)する。
ーー
問題はA1セルに毎月(毎締め日)行番号を書き改めないといけない(可能性が大)。
Sheet1の行が、ほとんど上位(固定得意先)は固定ならやややりやすいが。
が問題だが、VBAなら会社名から、その会社の請求書様式のあるシート名を探せるのだが、VBAを勉強してからのお楽しみかな。
レイアウトまでVBAで毎月作成しなおしは、プログラムが複雑になる。
フォント罫線なども各社再現は複雑。シートは1回人手で作って毎回使いまわしがよかろう。
No.3
- 回答日時:
>sheet1は請求書に必要な情報が入ってます。
(データベースのようなものです)この辺りからおかしくありませんか?
会社名(1) りんご みかん
1 ○○商事 200 100
2 ○○会社 250 150
で十分なような気がしますが、
より良いデータベースであれば
納品日 取引先名 品名 数量 金額・・・
7/8 ○○商事 りんご 200
7/8 ○○商事 みかん 100
・・・と入力してみてください。
次に、記載する内容は同じものなので、 を集計するシート1枚作成します。
取引先 ○○商事
期間 7/1 ~ 7/30
品名 数量 金額
りんご
みかん
と準備して、条件にあった数量や金額が計算される関数を考えます。
次に請求書の様式にあわせた請求書のシートを100パターン作成します。
VBAを活用するならば、印刷ボタンを押すと、取引先に応じて必要な様式の請求書を自動で印刷する様なマクロを考えると良いでしょう。
No.2
- 回答日時:
解決できましたか?
商品3種類を請求するパターンが100種類もあるというのが理解できません。
請求書(sheet2)から請求情報(sheet1)を作成するほうが分かりやすいかも
その際、無効請求書に対応する行は空白になるように条件式「=if(無効の論理式,"",sheet2のセル)
sheet1でフィルタ機能(データメニューからフィルター→オートフィルター)を使って空白行を表示しないとしておくとよいでしょう
No.1
- 回答日時:
失礼します、参考までに。
>(データベースのようなものです)
1行1データに変更すれば、VLOOKUP関数でも対応できると思います。
例えば、A列に社名コード、B列に重複の無い社名コード&商品コード、C列に社名、D列に商品名、E列に金額にしたとして、この範囲に名前を定義(DB_1)して
=VLOOKUP(検索値,範囲,列番号,検索の型) を↓
=VLOOKUP(社名コード&商品コード,DB_1,列番号,FALSE) さらに↓
=IF(COUNTIF(DB_1,社名コード&商品コード),VLOOKUP(・・・,・・・,・・・,・・・),"") と、すれば、不必要な数式も表示されません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ネットショッピング・通販・ECサイト) 詐欺サイトでの返金について 6 2023/02/08 12:18
- その他(お金・保険・資産運用) クレジットカード商品キャンセルについて お聞きしたいのですが。 先日インターネットで商品を購入したの 5 2022/10/12 14:05
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- 財務・会計・経理 請求金額について 5 2023/04/10 09:17
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Amazon Amazonの返金について。 間違って商品を買ってしまったのでキャンセルをし、返金のお手続きが完了し 2 2023/08/21 22:01
- その他(社会・学校・職場) 小売業者をしていますが、ある取引先から今までは注文があった際の請求は業務目的や販売目的の商品などもす 2 2022/07/01 06:55
- 会計ソフト・業務用ソフト Excelで売上げデータの中の任意の商品の合計を出したい 3 2023/01/18 18:19
- その他(悩み相談・人生相談) 督促状 5 2023/05/23 19:44
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報