• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VLOOKUP関数で抽出された文字列を変更したい)

VLOOKUP関数で表示文字列を変更する方法

このQ&Aのポイント
  • エクセルの会計データから請求書作成時に、特定の列に“○”を入力すると、その行のデータが請求書シートに反映されるようにしたい。しかし、会計データの税率表示が異なるため、請求書には一律で「10%」と表示させたい。
  • 標準税率10%や仕入税率10%などの異なる表記を、一律「10%」として表示させる方法について、エクセル関数を使用して具体的に解説してほしい。
  • VLOOKUP関数を使用して、エクセルで抽出されたデータを特定の条件で変更し、請求書に反映させる方法を知りたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.10

> 非課税や不課税という結果を出したい時もあったので 標準税率10% ⇒ 0 仕入税率10% ⇒ 81 標準税率8%  ⇒ 1 上記以外はF列の文字列をそのまま表示するようにすればいいですね。 =IF(VLOOKUP("○",会計データ!A1:G7,7,FALSE)="","",IF(OR(VLOOKUP("○",会計データ!A1:G7,7,FALSE)=81,VLOOKUP("○",会計データ!A1:G7,7,FALSE)=0),"10%",IF(VLOOKUP("○",会計データ!A1:G7,7,FALSE)=1,"8%",VLOOKUP("○",会計データ!A1:G7,6,FALSE))))

pin103568
質問者

お礼

丁寧に何度も対応下さり有難うございました。非課税の時の表示がうまくいかなかったのですが、誤って回答を締めきってしまったので、色々と考えていただいていた事もあり、ベストアンサーにさせていただきます。

Powered by GRATICA

その他の回答 (11)

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.12

回答No.10のおまけです。 将来消費税が変更になった場合、式の中の10%などを変更しなくてはいけなくなりますから、データに数字があればそれを取り出して、なければ元の文字列を表示するという事にしておけばいいのかなとも思えます。(0や81や1は参照していません) =IF(COUNT(FIND({0,1,2,3,4,5,6,7,8,9},VLOOKUP("○",会計データ!A1:F7,6,FALSE)))>0,MID(VLOOKUP("○",会計データ!A1:F7,6,FALSE),MIN(FIND({0,1,2,3,4,5,6,7,8,9},VLOOKUP("○",会計データ!A1:F7,6,FALSE)&"0123456789″")),LEN(VLOOKUP("○",会計データ!A1:F7,6,FALSE))),VLOOKUP("○",会計データ!A1:F7,6,FALSE)) 式が長くなりましたが、VLOOKUP関数の式をどこかのセルに入れてそのセルを参照するようにすれば見やすくなると思います。

回答No.11

◯ のかわりに、請求書№ を、使いました。 請求書シートの A3 には =INDEX(会計データ!$A$1:$F$7,MATCH($F$1,会計データ!$A$1:$A$7,0),MATCH("請求先",会計データ!$A$1:$F$1,0)) セルの書式 ユーザー定義: @" 御中" A3:C3 のセルを結合 請求額(A6)には =INDEX(会計データ!$A$1:$F$7,MATCH($F$1,会計データ!$A$1:$A$7,0),MATCH("本体",会計データ!$A$1:$F$1,0)) A3の式をコピペ ”請求先” を、 ”本体” に、変更 消費税(B6)には、 =IF(C6="10%",A6*0.1,"") 税率(C6)には =IF(OR(D6=81,D6=0),"10%","") 税Code(D6) には、 =INDEX(会計データ!$A$1:$F$7,MATCH($F$1,会計データ!$A$1:$A$7,0),MATCH("税Code",会計データ!$A$1:$F$1,0)) 請求額と同様に A3の式をコピペして ”請求先” を、 ”税Code” に、変更

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.9

ふと思ったのですが > 文字列を抽出する形は考えておりません。 この意味が 回答No.4、回答No.5、回答No.6 の式をテストせずに 「標準税率」や「仕入税率」などの文字列を結果として表示する式だと思っているのでしたら違いますよ。 10%や8%が結果として表示されます。

pin103568
質問者

補足

何度も確認いただいており本当に有難うございます。 今まで教えていただいた結果が10%や8%と表示される事は確認していますが、非課税や不課税という結果を出したい時もあったので必ずしも何文字目からを抽出する何文字目は固定ではなかったので、違う求め方の良いかと考えました。ここまで想定できておらず申し訳ございません。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.8

> 標準税率10% ⇒ 0 > 仕入税率10% ⇒ 81 > 非課税    ⇒ 4 > 標準税率8%  ⇒ 1 > > 上記の様な場合の時、10%とだけ表示させたい場合(0もしくは81の時)の計算式を教えていただけますか? 0や81の列がG列でしたら =IF(VLOOKUP("○",会計データ!A1:G7,7,FALSE)="","",IF(OR(VLOOKUP("○",会計データ!A1:G7,7,FALSE)=81,VLOOKUP("○",会計データ!A1:G7,7,FALSE)=0),"10%","")) 8%の時はどうするのか不明ですので10%の時以外空白です。 1の時に8%を出したいのでしたら =IF(VLOOKUP("○",会計データ!A1:G7,7,FALSE)="","",IF(OR(VLOOKUP("○",会計データ!A1:G7,7,FALSE)=81,VLOOKUP("○",会計データ!A1:G7,7,FALSE)=0),"10%",IF(VLOOKUP("○",会計データ!A1:G7,7,FALSE)=1,"8%","")))

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

質問の意味を十分理解してないかもしれません。その時はご容赦を。 例データA2:A6 A列     B列 標準税率10% 税率10% 仕入税率10% 税率10% 標準税率8% 税率8% 標準税率10% 税率10% 標準税率10% 税率10% B2の関数は、="税率"&MID(A2,5, SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{1,2,3,4,5,6,7,8,9,0},""))))&"%" A列の数字は半角数字と仮定。 文言を「税率」に統一し、税率数字をしにママ添える。 A列セルの文字列の中の数字をカウントしている。隣接しているという前提で。 上記では税率し遺児は、半角数字と仮定した。 全角の場合は式の配列部分を {1,2,3,4,5,6,7,8,9,0}に変える。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.6

回答No.4、回答No.5の追加です。 標準税率とかの文字の長さが一定の4文字でしたら =MID(VLOOKUP("○",会計データ!A1:F7,6,FALSE),5,3)

pin103568
質問者

補足

すみません、補足させていただきます。 文字列を抽出する形は考えておりません。 標準税率のとなりの行に税区分なる下記の数値が 記載されておりました。 標準税率10% ⇒ 0 仕入税率10% ⇒ 81 非課税    ⇒ 4 標準税率8%  ⇒ 1 上記の様な場合の時、10%とだけ表示させたい場合(0もしくは81の時)の計算式を教えていただけますか? 何卒よろしくお願いいたします。 

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.5

回答No.4の補足です。 結果が出ない場合は、式の中の○を実際のセルに入力されている○に変更してみてください。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.4

請求書のC8に以下の式を入れたら取り出せます。 =MID(VLOOKUP("○",会計データ!A1:F7,6,FALSE),MIN(FIND({0,1,2,3,4,5,6,7,8,9},VLOOKUP("○",会計データ!A1:F7,6,FALSE)&"0123456789″")),LEN(VLOOKUP("○",会計データ!A1:F7,6,FALSE)))

回答No.3

いちばん簡単なのは「税率」の項目を「税率区分」と「税率」の2つに分けることです。 で、「税率区分」のところには「標準税率」「仕入税率」のどちらかを入れ、「税率」のところには実際の税率(10% or 8%)を入れる、というように表を変更します。 目先の変更工数はかかりますが、このような表組みに変更しておくと後々の作業がかなり楽になりますし、将来的に税率が変更になった場合も簡単に対応が可能となります。 以上、ご参考まで。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

標準税率10%や仕入税率10%を一律で10%ととして表示させるに は、請求書の税率の下に直接「10%」と記入してはいかがでしょうか。

関連するQ&A

専門家に質問してみよう