プロが教える店舗&オフィスのセキュリティ対策術

例えば、納品書のひな形があったとして、そこへ別のシートに打ったデータを記載したいのですが出来るでしょうか。

データとしては、
一行に日付、名前(取引先)、商品名、値段を打っていき、範囲指定するとそのデータがひな形に転記されて印刷するというような感じなんですが。
納品書としては、取引先毎で印刷するので、最低限範囲指定する場合はソートを駆けてそろえておくものとします。

たぶんデータベースソフトとかでは簡単にできるとは思うのですが、お知恵をお貸しください。

A 回答 (5件)

【推奨】ワードで差し込み印刷を行う



準備:
ワードで納品書のひな型を作成する
エクセルでリストを作成する
リストには、今回印刷したい対象行に印刷したいシルシを記入しておくとよい

手順:
http://pc.nikkeibp.co.jp/article/technique/20100 …

ポイント:
URLの2ページ目の中段に表示されているエクセルのリスト画面で、「チェックマーク」を入れた行が印刷される
リスト画面がオートフィルタのようになっているのを選び、印刷したい対象行を絞り込んで差し込むことができる



【よくあるご相談】エクセルだけでやる
マクロを使い、リストの対象データをひな型シートにイチイチ転記して都度印刷させます

参考:
http://www.geocities.jp/ttak_ask/office_docu/es4 …

ポイント:
工夫すれば、リストを1セルずつわざわざ転記するような事をする必要はありません。
たとえばひな型シートの例えばA1セルに、リストの「何行目」を参照したいか2とか4とか数字で記入、ひな型の所定のセルにはそれぞれリストのA1行目のデータを参照してくる数式を
=INDEX(Sheet1!A:A,A1)
などのような数式で準備しておきます

あとはこのA1セルの数字を、実際に印刷したい行番号を順繰り2,3,5、7…などのようにマクロ等を使ってひとつずつ記入させます。ひな型に指定行のデータが自動的に表示されるので、印刷と併せてマクロにすべてを実行させます。

勿論実現するには、ある程度のマクロの知識が必要です。試しにここでサンプルとか作り方を教わっても、ご自分で実際のエクセル向けに手直しできなければ、役には立ちません。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
今回の質問では利用できそうにないですが、普段、ワードもエクセルもあまり使ってないので、差し込み印刷というのが目からウロコでした。

お礼日時:2014/12/23 12:32

取引先で絞り込んだデータだけを別シートに表示したいなら以下のような配列数式を使用することになります。



元データがSheet1にあり、A列が日付、B列が取引先、C列が商品名の場合、以下の式を入力すればA1セルに絞り込んだ取引先を表示できます(絞り込んでいないときは最終データを表示)。

=INDEX(Sheet1!B:B,MAX(INDEX(SUBTOTAL(3,INDIRECT("Sheet1!B"&ROW($2:$1000)))*(Sheet1!$B$2:$B$1000=$A$1)*ROW($2:$1000),)))

たとえばC列の商品名データを表示したいなら以下の式を入力し、Ctrl+Shift+Enterで確定して、下方向にオートフィルします。

=INDEX(Sheet1!C:C,SMALL(IF((SUBTOTAL(3,INDIRECT("Sheet1!B"&ROW($2:$1000))))*(Sheet1!$B$2:$B$1000=$A$1),ROW($2:$1000)),ROW(A1)))

なお、ご使用のExcelのバージョンが明記されていなかったので(使用できる関数などが異なるため)、上記の数式はエラー処理をしていません。
ISERROR関数を使用した条件付き書式や、IFERROR関数などで適宜エラー処理をしてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/12/23 12:27

>一行に日付、名前(取引先)、商品名、値段を打っていき、


>範囲指定するとそのデータがひな形に転記されて
>印刷するというような感じなんですが。

よくあるパターンです、以下の発想で考えてみてください。

一行に日付、名前(取引先)、商品名、値段を打っていき、
ひな形のシートに 日付と名前(取引先)をプルダウンで入力すると
指定した一覧がひな形のシートに抽出され、印刷するというような感じなんですが。

エクセルのフィルターオプションと云う機能をご存知ですか。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
のサイトに詳しく紹介されています。
下の方にマクロのコードがあります。
シートモジュールにコードを記述しておけば、名前(取引先)を変更すると
自動で一覧が抽出される仕組みが出来ます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/12/23 12:27

Excel 納品書テンプレート


http://office.microsoft.com/ja-jp/templates/TC00 …

↑のような形式なら、vlookup関数での拾い出しでも十分可能

個別の計算式はデータの形がわからないと提示は出来ませんが
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/12/23 12:28

他のセルを参照して値を表示させたい・・・ってことですよね。


この場合、自分はOFFSET関数を使うのが一般的なような気がするんです。

ですが質問のケースではマクロを使わないとできないでしょうね。
マクロを使わないとするとフォームでオプションボタンを作成して参照する行を指定することになると思います。

そんなわけで回答としては

  「できる」

になります。

OFFSET関数は
  =OFFSET(基準,行数,列数[,高さ,幅])
のようにして使います。
(基準をA1にしてB2セルを参照する場合、OFFSET(A1,1,1)になります)
Sheet2のB2セルから下へデータが並んでいるのであれば
  =OFFSET(Sheet2!A1,B1,1)
などと記述し、何番目のデータを参照するかを示すB1セルに値を入れてやればOK

オプションボタンからどうやって値を読み取るのかは自身で調べてみてください。
(これくらいはできますよね)
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/12/23 12:28

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