[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字データを取得と同時に敬称を付ける関数』(イチゴ)
お世話になります。
ご教示ください。
CLIENT Sheetと長3封筒Sheetとが有ります。
長3封筒 SheetのA1のセルに数字の「1や2や3や4や5」と入力すると
長3封筒 Sheet結合セル「G7」にCLIENT SheetのE列の後ろに敬称(御中・殿・様)
を付けた表示をしたいのです。
例
G7セル
長3封筒 SheetのA1「1」 → 個人名 様
長3封筒 SheetのA1「3」 → 会社名 御中
長3封筒 SheetのA1「5」 → 市長 殿
個人的に長3封筒 Sheet結合セル「G7」の関数を考えたのですが、
1.長3封筒 Sheetの空いているセル(仮にD9)に =IFERROR(VLOOKUP(A1,CLIENT!B:E,4,FALSE),"")
2.長3封筒 Sheet の「G7」 =IF(D9="","",IFS(COUNTIF(D9,"*会社*"),D9&" 御中",COUNTIF(D9,"*市長*"),D9&" 殿",TRUE,D9&" 様"))
と入れると敬称が表示できるのですが、2回になってしまいます。
「G7」セルに一つの関数としてまとめて表示できないでしょうか。
下記にCLIENT Sheetというのが有ります。
B列 → 番号
D列 → お客様コード
E列 → お客様名・会社名
B列 E列
6 1 個人名 7 2 個人名 8 3 会社名 9 4 会社名 10 5 市長
お忙しい中、どうぞよろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
CLIENT SheetのB列を元々「様」「殿」「御中」にしておくのは?
G列にE列の値とB列の値を結合した文字列を作っておく。
B列の数字をほかでも使うのでダメ,と言うなら,CLIENT SheetのF列に
B列の値が1なら様,3なら御中,5なら殿,と言う関数を作っておいて,E列の値と文字列結合したものをG列に置く。
長3封筒SheetではG列の値を参照する。
にしたら良いのではないでしょうか?
何が2回になるのかわかりませんでしたが,
D9セルを作りたくないという事なら,名前の定義で
名前を敬称,範囲を=IFERROR(VLOOKUP(A1,CLIENT!B:E,4,FALSE),"") として
G7セルの「D9」の文字を「敬称」に変えれば良いかと。
(ちら見マン) 2022/02/03(木) 19:04
ご教示ありがとうございます。
関数は初心者の為、申し訳ありませんが、丁寧にご教示お願いします。
長3封筒 Sheet D9セルに関数を入れなくても
例としました下記のセル「長3封筒 SheetのA1」に数字の1や3や5などを入れると
長3封筒 Sheet の「G7」に下記の様に表示できるのでしょうか?
長3封筒 SheetのA1「1」 → 個人名 様
長3封筒 SheetのA1「3」 → 会社名 御中
長3封筒 SheetのA1「5」 → 市長 殿
宜しくお願い致します。
只今、名前の定義を見ています。
(イチゴ) 2022/02/03(木) 21:19
CLIENT シートに作業列を作って良いのなら、 せっかくご自身で数式を組まれたのですから、それを使えばよろしいかと。
<CLIENTシート> |[B]|[C]|[D]|[E] |[F] [6] | 1| | |個人名|=IFS(COUNTIF(E6,"*会社*"),E6&" 御中",COUNTIF(E6,"*市長*"),E6&" 殿",TRUE,E6&" 様") [7] | 2| | |個人名|個人名 様 [8] | 3| | |会社名|会社名 御中 [9] | 4| | |会社名|会社名 御中 [10]| 5| | |市長 |市長 殿
<長3封筒シート> G7セル =IFERROR(VLOOKUP(A1,CLIENT!B:F,5,FALSE),"") (こたつねこ) 2022/02/03(木) 22:07
あまりスマートではないですが 個人名、会社名、市長などが抽出出来ているのならその関数の後ろに &IFERROR(CHOOSE(Sheet1!$A$1,"様","","御中","","殿"),"") を付けてはどうでしょうか
Sheet1のA1の値が1なら様、2なら空白、3なら御中と後は順番なので番号に合わせて付け足す 但しSheet1のA1の番号が大きくなると長くなるので (なるへそ) 2022/02/04(金) 11:00
ご教示ありがとうございます。
長3封筒 Sheet D9からD1のセルに
=""&IFERROR(VLOOKUP(A1,CLIENT!B:E,4,FALSE),"")と入力して、
長3封筒 Sheet G7のセルに
=IF(D1="","",IFS(COUNTIF(D1,"*会社*"),D1&" 御中",COUNTIF(D1,"*市長*"),D1&" 殿",TRUE,D1&" 様"))と入力して使用したいと考えています。
CLIENT シートはそのままにして、
1行目を印刷設定で印刷しないようにして出力すればいいのかな、と考えています。
売上・納品書・請求明細書・受領書・請求書・合計請求書・長3封筒・角2筒等を
必要な分だけ抽出し、別Sheetに出力し印刷する予定です。
G7セル1つで完結できる関数はないのかなと考えていました。
お忙しい中、感謝いたします。
ありがとうございます。
(イチゴ) 2022/02/04(金) 20:00
ご教示ありがとうございます。
長3封筒 Sheet A1の数字は入れば最高で300になります。
VBAだと可能なんでしょうか?
お忙しい中、感謝いたします。
ありがとうございます。
(イチゴ) 2022/02/04(金) 20:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.