**内容 [#m547d6bb]
#setlinebreak(on)
#contents
**目的 [#u6b4e145]
名簿から任意の人を拾ってきて、住所シールにプリントするのに適する形に整形する。
**入力イメージ(「名簿」シート) [#h40c322b]
   	         名前   	郵便番号	住所
 レ	1	ああ あああ	111-1111	千葉県xx市xxx1-1-11
 	2	いい いいい	111-1112	千葉県xx市xxx1-1-12
 レ	3	うう ううう	111-1113	千葉県xx市xxx1-1-13
 レ	4	ええ えええ	111-1114	千葉県xx市xxx1-1-14
 レ	5	おお おお	111-1115	千葉県xx市xxx1-1-15
 	6	かか かかか	111-1116	千葉県xx市xxx1-1-16

      ・・・・・・・・・・・・・・
      ・・・・・・・・・・・・・・

使用する行のA列にレを入力。(プルダウンでレを選択。)
**出力イメージ(「シール」シート) [#ece5a7f0]
名簿シートの4の行にレがあれば、その行の住所を拾ってきて
 〒 111-1114
  千葉県xx市xxx1-1-14
          ええ えええ 様
と出力する。
レのついている行、25行について、「シール」シートのF2〜J6に5×5で出力する。

ちなみにOFFSET関数を使ってVLOOKUPの範囲を指定しているので、名簿が今後どんなに縦長になっても自動対応。
**Excelファイル [#l359444e]
#ref(住所シール.xls)
**ソース?イメージ [#ha4c1d2a]
基本は
 ="〒 "&IF(VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),3,FALSE)="","",VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),3,FALSE))&CHAR(10)&" "&IF(VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),4,FALSE)="","",VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),4,FALSE))&CHAR(10)&"         "&IF(VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),2,FALSE)="","",VLOOKUP(A2,OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),4),2,FALSE))&" 様"
と書かれているだけ。

シールシートのA2〜E6に書かれている数字と同じ行を名簿シートから拾ってきて、その行の住所をF2〜J6に出力するようにしている。

***2008年7月16日に思いついた対処 [#s16442a8]
シールシートのA2には
 =VLOOKUP("レ",OFFSET(名簿!$A$2,0,0,COUNTA(名簿!$A:$A),2),2,FALSE)
A3には
 =VLOOKUP("レ",OFFSET(名簿!$A$2,A2,0,COUNTA(名簿!$A:$A),2),2,FALSE)
と書かれている。
前の検索値を次のOFFSETの行ずらしの値に利用しているところがポイント。
これにより、A列でレが複数存在してもVLOOKUPを使用することが出来る。


**改版履歴 [#i923b916]
-2008年7月13日深夜作成。
-2008年7月14日深夜多少修正。
 ・出力が1列だったのを5×5に。
   →関連してCOUNTA(名簿!A:A)をCOUNTA(名簿!$A:$A)に。
 ・改ページプレビューを保存。
#ref(住所シール_070814.xls)
-2008年7月16日、かなり頑張って修正。
 ・シールシートで使用する行数を指定するのではなく、名簿シートのチェックで指定するように変更。
  →もう、マクロしかないかと思ったら関数で出来た!嬉しい!([[このアイディア>住所シール#s16442a8]]を思いついた!)
#ref(住所シール.xls)


----
#comment
----
-[[ノウハウ/Windows小技集]]

#amazon_live(books-jp,search,Excel,48)
#amazon_search(small)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS