[[20090314181525]] 『縦に』(たか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『縦に』(たか)
 =IF(ISNA(VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'1'!
$A$5:$W$36,5,FALSE))こもような式があります。
この式の1の部分を下のセルにおりるごとに2下のセルにおりるごとに
3としたいのですが方法ありますか?


 一回きり(一回設定したらほぼ固定)の作業ですか?
 それとも、再々ある作業ですか?

 (HANA)

 >VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)
 VLOOKUP($B$2,INDIRECT(ROW(A1)&"!A5:E36"),5,FALSE)
 こんなかんじてに変更かな

 By

一回きりですが100×30セルあります。下の式ためしましたがエラーになってしまいました(たか)

 100がシート名ですか?
 30はどこが変わりますか?

 列数が 5,6,7・・・と変化するのですかね?

 コピーする方向と、変化させる部分を教えて下さい。

 (HANA)

 > =IF(ISNA(VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'1'!
 > $A$5:$W$36,5,FALSE))こもような式があります

 上記の式はどのセルに入力しているのでしょう(セル番地を記載ください  例 A1)

 >この式の1の部分を
 ここで言う1とは何を指していますか

 >下のセルにおりるごとに2下のセルにおりるごとに
 >3としたいのですが方法ありますか?

 「下のセルにおりる」とは 上記式がA1に入力されている場合 A2 のセルと言うことですか?
 その場合 どのように式が変わればいいのですか 
 希望する変更後の式を提示ください

 By

A1のセルに=IF(ISNA(VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'1'!
 > $A$5:$W$36,5,FALSE))下にコピーすると
A2のセルが=IF(ISNA(VLOOKUP($B$2,'2'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'2'!
 > $A$5:$W$36,5,FALSE)) 
A3のセルが=IF(ISNA(VLOOKUP($B$2,'3'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'3'!
 > $A$5:$W$36,5,FALSE))こんな風に'1''2''3'としたいのですが(たか)

 行方向へコピーした時、
 シート名の数字を一つずつ増やしたいのは
 分かっているのですが・・・。

 >一回きりですが100×30セルあります。
 行方向へ 100
 列方向へ 30 ですか?

 行方向へ 30
 列方向へ 100 ですか?

 また、列方向へコピーした場合は
 どの部分を変えるのですか?
 現在の式では、同じ式が入る事になると思いますが。

 (HANA)

 >一回きりですが100×30セルあります。下の式ためしましたが
 >エラーになってしまいました(たか)

 どのようなエラーが出たのでしょう
 また、どのように式を作成しましたか?、エラーとなった式を提示ください

 By

 To,By さん

 ご自身でやってみられても
 式をコピペすれば
 エラーは再現できると思いますよ。

 (HANA)

=IF(ISNA(VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'1'!
$A$5:$W$36,5,FALSE))の横並びは完成しています。今度はこの式を縦にコピーした時シート
名を'123'としたいのですが・・・・
VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)
 VLOOKUP($B$2,INDIRECT(ROW(A1)&"!A5:E36"),5,FALSE)
これを入れたらこの数式は正しくありませんとでました(たか)

 それでは、ご提示の式を作成することだけを考えます。

 A1セルに
="★IF(ISNA(VLOOKUP($B$2,'" & ROW(A1) &"'!$A$5:$W$36,5,FALSE)),"""",VLOOKUP($B$2,'" & ROW(A1) &"'!$A$5:$W$36,5,FALSE))"
 を貼り付けたあと、下にフィルドラッグしてください。

 作成したい式の先頭が「=」ではなく「★」で始まる
 文字列が作成されます。

 A列をコピーし、値貼り付けしたあと
 「★」を「=」に置換してください。

 (HANA)

 >式をコピペすれば
 >エラーは再現できると思いますよ

 質問者が提示された式が正常な範囲では問題ないのでは?

 質問者が提示された式が正常に値を返しているという前提で回答しています

 By

HANA回答ありがとうございます。記載のままやりましたが出来ませんでした。なぜでしょうか?(たか)

 どこがどのようになって出来なかったのか 教えて下さい。
 どこまで操作が進みましたか?

 1.
  A1セルに数式を入れて
  「★IF(ISNA(VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE))」
  の表示になりましたか?

 2.
  A1セルを下にフィルドラッグして、ページ名部分が 2,3,4と上がっていったものが出来ましたか?
   A2  ★IF(ISNA(VLOOKUP($B$2,'2'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'2'!$A$5:$W$36,5,FALSE))
   A3  ★IF(ISNA(VLOOKUP($B$2,'3'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'3'!$A$5:$W$36,5,FALSE))
   A4  ★IF(ISNA(VLOOKUP($B$2,'4'!$A$5:$W$36,5,FALSE)),"",VLOOKUP($B$2,'4'!$A$5:$W$36,5,FALSE))
   :

 3.
  A列の数式をコピーした範囲を選択
  コピー
  右クリック→形式を選択して貼り付け(S)  ●値(V)
  を選び、値貼り付け出来ましたか?
  (数式バーで 先頭の「=」や「ROW(A1)」部分が
   なくなったことを確認してください。)

 4.
  Ctrl + H で置換ダイヤログを出し
  ★ を =(←半角のイコール) に置換出来ましたか?

 5.
  文字列が数式になり、結果を返すようになります。
  どのように出来ないのですか?
  (数式にならない?数式の結果が違う?)

 もしかして、これまで載せておられる式は 実際に使っている式とは違って
 【実際の式に合わせて変更して実行したら】うまくいかない
 なんてことですか?

 でしたら、まずは この式にシート名をそろえて
 やってみてください。

 byさんの式は、エラー値は返すと思いますが
 >この数式は正しくありません
 にはならないと思いますので
 そちらで式を変更しておられるのではないかと思います。

 (HANA)

 前回の回答でA1,A2と縦にコピーしていましたが・・・

 >今度はこの式を縦にコピーした時シート名を'123'としたいのですが・・・・ 
 >VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE) 
 意味がわかりません

 提示された式が、A1に入力されていて、下に、右にコピーすると
 参照している$B$2にも式をコピーすることになります。

 >byさんの式は、エラー値は返すと思いますが

 質問者が、正常に答えが出ていることを前提として回答していますのであしからず

 3回目の回答にも記載しましたが
 >また、どのように式を作成しましたか?、エラーとなった式を提示ください
 質問者自身が変更したエラーになる式を提示ください

 By

 To,Byさん

 たかさんが、正常に答えが出る式を載せておられるのならなおさら
 VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE) 
 Byさんの式は ~ ~「'」をお忘れですので #N/A エラーです。

 ただ、たかさんは
 >この数式は正しくありません
 のエラーが出ると言っておられるので
 式を変更なさっておられるのでしょうね。

 (HANA)

 >VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE) 
 >Byさんの式は ~ ~「'」をお忘れですので #N/A エラーです

 VLOOKUP($B$2,INDIRECT(ROW(A1)&"!A5:E36"),5,FALSE)

 実際に試してみましたか? 省略可能です
 それともシート名が '1' なのかな(シート名に出来ないと思いますが・・)
 シート名が違う場合は#REF!になります

 #N/A にはなりません

 By

 ・・・?

 To,Byさん

 失礼しました。省略可能なんですね。
 (過去に何度もこれでうまくいかかった記憶があったので)

 #N/Aエラーが出ていたのは 実に単純に
 空白セルでを検索していたためでした。
 検証不足で、申し訳ありませんでした。

 (HANA)

 >(過去に何度もこれでうまくいかかった記憶があったので)
 >検証不足で、申し訳ありませんでした。 検証不足で、申し訳ありませんでした。

 いいえどういたしまして。 

 誤解されると困りますので
 >#N/A にはなりません
 質問者が提示した式の 前と後のVLOOKUP関数の部分を変更することが前提です
 (ISNA関数でエラー処理していますので#N/A にはなりません)

 By

 >ISNA関数でエラー処理していますので#N/A にはなりません
 はい、それで 自分の投稿をするのに試したときは
 #N/Aが返されず(「""」が返されていた)
  → ほらね、「'」がないからエラー値が・・・
 という 間違った結論を導いてしまったわけです。

 (HANA)

ByさんHANAさん回答有難うございます。Byさんの式でできました。 
VLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)
 VLOOKUP($B$2,INDIRECT(ROW(A1)&"!A5:E36"),5,FALSE)このように式の先頭に余分にVLOOKUP($B$2,'1'!$A$5:$W$36,5,FALSE)と入れてコピペしてしまいました。申し訳ありませんでした。(たか)


 私の方法は、やっぱりできませんか?
 数式の変更がないなら、お勧めですけどね。

 (HANA)

 質問者が見る機会があれば・・

 もう一度 (HANA) さんが回答の方法をお試しすることをおすすめします

 因みに、文字列で(""で囲まれた部分)入力された部分は
 フィルコピーで変化しませんので、絶対参照にする必要はありません
 INDIRECT関数は揮発性の関数ですので、使用は出来るだけ避けた方がいいですね
 VLOOKUP関数の範囲も最小限にした方がいいですね(列番号を変更しないようですので)

 By

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.