• ベストアンサー

VLOOKUP関数で列番号を一括で変更したい

お世話になります。 =IF(E$12="","",IF($B$5="第1回",VLOOKUP($A$12,第1回!$B$7:$BB$137,27,0),IF($B$5="第2回",VLOOKUP($A$12,第2回!$B$7:$AV$131,27,0),IF($B$5="第3回",VLOOKUP($A$12,第3回!$B$7:$AV$131,27,0),IF($B$5="第4回",VLOOKUP($A$12,第4回!$B$7:$AV$131,27,0),IF($B$5="第5回",VLOOKUP($A$12,第5回!$B$7:$AV$131,27,0),IF($B$5="第6回",VLOOKUP($A$12,第6回!$B$7:$AV$131,27,0),""))))))) この式の列番号部分(上記だと27)を他の数値に一括で変更するには 何か方法はありますでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.4

ANo.1さまの方法で解決します。 ただし、動いている関数の内容を直接変換するとエラーなどが起き易くなります。 置換するセル内の式の頭に “'” を付けて、式を文字列に変換します。 それから、そのセルを選択し変換作業に入ります。 置換後、“'”を外して終わり。

chutohanpa
質問者

お礼

KonnaMonde様 早々のご回答をありがとうございました。 文字列に変換するのですね。 よくわかりました。

その他の回答 (3)

  • 134
  • ベストアンサー率27% (162/600)
回答No.3

セルの構成が不明なので、column() (±x) としています。 たとえば、A列に上記の式を入れる場合、column()=1となりますので、「27」とするためには、 +26とする必要があります。 また、AB列に入れる場合は、 column()=28 となりますので、「27」とするためには、-1とする必要があります。 関数を入力するセル番地が不明ですので、具体的な記述ができず、例示するにとどめました。

chutohanpa
質問者

お礼

再度のご回答をありがとうございました。 ちょっと私には難しいですが、 勉強してみたいと思います。

  • 134
  • ベストアンサー率27% (162/600)
回答No.2

「上記だと」ということなので、もしかしたら、「27」を複数のパターンに変える可能性もあるのかな、と、想像し… 1行目だけ修正します。 27 に 相当する部分を column() (±x)  (xは適切な自然数) としてください。 以下、関数をコピーして対応する

chutohanpa
質問者

お礼

134様 早々にありがとうございます。 column() (±x) ↑ この式を27のところにコピーすれば良いのでしょうか。 ×には27を入力ですか? 説明が判りにくく申し訳ありません。 整理しますと、 関数の入力してあるセルをコピーしてもVLOOKUPが参照する列は 変化しないため、これまでは地道に手作業で列番号部分を 27,28,29・・・と直していましたが、 十数個のセルの関数を直すのは結構手間がかかるので、 一括でできないかと思いました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

置換(Ctrl+H)で、 検索する文字 ,27, 置換する文字 ,28, のようにして置換すればできます。 置換を正確に行うには、区切りの "," も含めないと別の数値も置換してしまう場合もあります。 27 だけでは、127 も 270 も置換対象になります。

chutohanpa
質問者

お礼

hana-hana3様 早々にありがとうございます。 早速試したところ、 「入力した数式は正しくありません。」 のメッセージが出てしまいました。 関数の入力してあるセルを選択 ↓ Ctrl+H で置き換え作業をしたのですが。。。 私の説明が足らなかったでしょうか。

関連するQ&A

  • VLOOKUP関数で

    A1からB10の検索した値と A11からB20までの検索した値を合計したいのですが =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+(A1,'金額'!A1:B10),2,FALSE)) =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+VLOOKUP(A1,'金額'!A1:B10),2,FALSE)) =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+=IF(A1="","",VLOOKUP(A1,'金額'!A1:B10),2,FALSE)) など色々やってみましたが、出来ません。 どなたかよろしくお願いします。

  • EXCELのVLOOKUP関数について

    EXCELのVLOOKUP関数について教えてください。 例えばA1が○でC1が×のとき、その該当行の3列目を示す というような検索値を2つ満たすようなやり方は可能でしょうか? 範囲、列番号とも検索値1つに対応しているのでvlookup関数を並列することになるのでしょうか? 別の簡単な方法があれば教えてください。 わかりにくい質問で申し訳ございません。よろしくお願いします。

  • VLOOKUPの検索値の集計について

    複数シートのデータをVLOOKUPを使って、sheet1(B2~B50)に検索表示させ、更にその値を縦集計し、sheet1(B1)に表示させたいのですが、検索値が文字列のため集計ができません。 VLOOKUPの式に、文字列を数値に変換するように組み込む方法があれば教えてください。 (元データの表示形式は「標準」になっております。) sheet1(B2~B50)には、現在このような式を入れています↓ =IF(COUNTIF(sheet2!$A$2:$E$50,sheet1A!$2),VLOOKUP(sheet1!$A2,sheet2!$A$2:$E$50,2,FALSE)*1,"")&IF(COUNTIF(sheet3!$A$2:$E$50,sheet1!$A2),VLOOKUP(sheet1!$A2,sheet3!$A$2:$E$10,2,FALSE)*1,"")

  • エクセル、VLOOKUP関数について

    (1)セルAの値を他シートから検索 (2)セルAが空欄なら空欄を返す (3)セルAが空欄でなければ、その検索したセルの値を返す (4)検索したセルが空欄であればBを返す =IF(ISNA(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)),"",IF(VLOOKUP(A1,他シート!$B$4:$G$501,2,0)="","B",VLOOKUP(A1,前年度成績!$B$4:$G$501,2,0))) という風にしたくて、上記の式を書きましたが、(4)の検索したセルが空欄であってもBが表示されません。 どこを直せば良いか、教えてください。

  • VLOOKUPで列番号を移動させたい

    すいません。質問なのですが VLOOKUPで=VLOOKUP(検索値,範囲,列番号,FALSE) の式の中で列番号を増やしていくことは可能でしょうか? たとえばA1では=VLOOKUP(検索値,範囲,2,FALSE)であった式がB1では=VLOOKUP(検索値,範囲,3,FALSE)に なるみたいなかんじです。 手動でなくそういう式にできたらと思って ご相談させていただきました。

  • OS XP エクセル2000でVLOOKUPの値が違う。

    OS XP エクセル2000でVLOOKUPの値が違う。    A    B   C    D    E 1  1.10   1       1.10   1 2  1.11   2       1.11   2 3  1.12   3       1.12   3 4  1.13   3       1.13   4 5  1.14   4       1.14   5 6  1.15   5       1.15   6 7  1.16   6       1.16   7 A列数値 B1式=VLOOKUP(A1,$D$1:$E$8,2)下にコピー D1数値D2から+D1+0.01下にコピー E列数値 OS XP エクセル2000で上記の表でA4からB4値が 間違っています。私だけなのでしょうか?

  • IFとVLOOKUP

    DのコラムにIDaa001アルファベット2文字と数字3桁 Fのコラムに商品名の入ったシートaa DのコラムにID bb001アルファベット2文字と数字3桁 Fのコラムに商品名の入ったシートbb 上記二つのシートからデータを参照したいシートccが有ります。 シートccに入っているIDによって、参照するシートを変えたいので、IF関数を使ってみましたがうまくいきませんどの様にしたら良いのでしょうか? ちなみに私の書いた式は下記です =IF(A3=aa,VLOOKUP(D3,aa!A2:B99,2,FALSE),VLOOKUP(D3,bb!A2:B213,2,FALSE)) どうしたら良いのか分からなく、IDの頭2個のアルファベットをLEFT関数で抜き出して、Aのコラムに貼り付けて上記の式をつくってみましたがダメでした。 よろしくおねがいします。

  • エクセルVLOOKUP関数について

    =IF($B$3="","",IF(ISERROR(VLOOKUP($B$3,注文管理!A$3:AE$9898,4,0)),"客注NO.を確認!",VLOOKUP($B$3,注文管理!$A$3:$AE$9898,4,0))) VLOOKUP関数を使って、上の式を作りました。 B3に入るのは5桁の数字で文字列です。注文管理のA列に5桁の数字が入っており、そこも文字列にしています。 うまくいく数字とうまくいかない数字があるのですが、なぜだかわかりません。 どこがおかしいのかおしえてください。

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • 急いでます。エクセルの関数教えて下さい

    =VLOOKUP(E4,B4:C7,2) という式があって、 #N/Aを表示させたくないときに=IF関数を使うのはわかるのですが、 このIFと VLOOKUPの式のつなげ方ってどうやるんでしょうか? よろしくお願い致します

専門家に質問してみよう