[[20051130113420]] 『特定の値が入力されているセルの隣のセルに数式を』(MUMU) ページの最後に飛ぶ

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

 

『特定の値が入力されているセルの隣のセルに数式を入れたい』(MUMU)

困っています(T T) 教えてください。

Q1.表1のAの値が"BBBBB"の値だった場合その隣のセルに数式を入れたい。

表1

      A     B     
1   AAAAA  
2   AAAAA
3   BBBBB  数式
4   AAAAA
5   BBBBB  数式

よろしく御願いします。


 B列に全て数式を入れて、BBBBB の場合だけ有効にするのではダメですか?
  B3-B5までB2をコピー&ペースト
 (ぱっくん)


 こんにちは 衝突☆彡しましたがそのまま
表示だけの問題ならば
ぱっくん さんの方法でA列が「BBBBB」以外のときはB列は空白になりますが
実際には数式が入ってます。

 A列が「BBBBB」以外のときはB列に数式を入れたくないというのであれば
マクロになると思いますので、他の方の回答をお待ちください。
                             (oni)

言葉が足らず申し訳ございません。
B列には、全て数式を入れます。その後、「BBBBB」に対応する数式を入れようと
考えております。
マクロにて御願します。
よろしく御願い致します。m(_ _)m
(MUMU)


 >B列には、全て数式を入れます。その後、「BBBBB」に対応する数式を入れようと
  考えております。
ということなら、マクロでなくても
B2=IF(A2="BBBBB",数式,BBBBB以外の時の数式)
でもいいような?
                         (oni)


 (oni)さんありがとうございます。
初歩的なことですが、「数式」のところに数式を入れましたが、文字として
認識されます。数式をいれるとエラー・ヘルプが出てきます。
お手数ですが、再度、ご教示頂きたく御願い致します。
(MUMU)


 こんにちは
>「数式」のところに数式を入れましたが、文字として
 認識されます。数式をいれるとエラー・ヘルプが出てきます。
どのような、数式を入力してエラーが出たか、MUMUさん以外にはわかりませんので
MUMUさんが入力された数式とどんなエラーが出たかを掲示いただくと
的確な回答が得られると思います。
                       (oni)

度々ありがとうございます。
下記、式をいれました。

=IF(Y10="−",=VLOOKUP(F6,INDIRECT(前シート&""!$F:$Z""),21,FALSE),=VLOOKUP(P6,INDIRECT(前シート&""!$P:$Z""),11,FALSE))

エラーメッセージ
「入力した数式にエラーがあります。」

度々もうしわけございませんが、よろしく御願いします。
(MUMU)


 =IF(Y10="−",=VLOOKUP(F6,INDIRECT(前シート&""!$F:$Z""),21,FALSE),=VLOOKUP(P6,INDIRECT(前シート&""!$P:$Z""),11,FALSE))
              ↑  ここの「=」はいりませんね!        ↑
それと
VLOOKUP(検索値,検索範囲,列番号,検索の型)
検索範囲はどこになりますか?
INDIRECT(参照文字列,参照形式)ですので、このままでは範囲指定にならないと思います。
                            (oni)

(ONI)さん ありがとうございました。
また、式の範囲ですが、名前の挿入を行っており、定義が下記になります。
下記定義で、左隣のシートを指定しています。

=MID(INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1),FIND("]",INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1))+1,31)

=をとりましたが、同じ、エラーメッセージが出ます。
範囲が悪さしているのでしょうか?
(MUMU)


 再度、B2の計算式について回答させてもらいます。
 >=IF(Y10="−",=VLOOKUP(F6,INDIRECT・・・
  の件を要約すると	  #行番号10と6は同じかな?で記述しました(Y10、F6、P6)
   A列が"BBBBB"の場合
	Y列が"-"の場合
		F列の内容で前シートのF列サーチし一致する行のZ列の値をセット
	Y列が"-"以外の場合
		P列の内容で前シートのP列サーチし一致する行のZ列の値をセット
   A列が"BBBBB"以外の場合	
	空白	
 と言うことなら
      B2=IF(A2="BBBBB",
          IF(Y2="−",
            VLOOKUP(F2,INDIRECT("前シート&"!$F:$Z"),21,FALSE)
           ,
            VLOOKUP(P2,INDIRECT("前シート&"!$P:$Z"),11,FALSE))
           ,"")
 (ぱっくん)

 「前シート」は名前定義でユーザー定義関数的に働き、シート名を返すので、
"で囲んでは機能しません。
[[20040716014000]] 『シート自体の相対参照』(たか) 
(みやほりん)

最終的に、マクロを使って「Yに文字が入っている右隣のZに対して、Yに"-"が入っている右Zには、数式"VLOOKUP(F2,INDIRECT(前シート&"!$F:$Z),21,FALSE)を入れて、Y列がそれ以外の場合は、Zに対して、数式"VLOOKUP(P2,INDIRECT(前シート&"!$P:$Z"),11,FALSE)"を入れたいのですが、下記では、「コンパルエラ」などが出ます。
何が悪いのでしょうか? 漠然として申しをありませんが、御教授頂きたく御願い致します。m(_ _)m

    Range("Y2:Y500").SpecialCells(xlCellTypeConstants, xlTextValues) _
    .Offset(, 1).Value = "IF(Y02="−",VLOOKUP(F2,INDIRECT(前シート&"!      $F:$Z),21,FALSE),VLOOKUP(P2,INDIRECT(前シート&"!$P:$Z"),11,FALSE)),"")"
(MUMU)

  結局マクロのコードの話だったのね。
(1)セルに数式を直接入力する際には"="が必要ですね?
   コードにはそれがありません。
(2)「"」から「"」までが文字列として扱われます。Valueプロパティに
   代入する段階で
   
   "IF(Y02=" − ",VLOOKUP(F2,INDIRECT(前シート&" !$F:$Z) ・・・
   └┬─┘  ↑ └─────────┬───┘ └┬┘
 文字列の塊 マイナス記号?    文字列の塊   ???
   
   となるので、「"」の使い方がまずい、と言うことになります。
   続けて文字列にしたいのに、途中に数式で使っている「"」が入るので、
   そこで「文字列の区切り」と認識してしまうのです。
   マクロの記録でセルに=INDIRECT(前シート&"!$F$1")と入力する動作を
   記録してみてください。「"」の使い方が参考になります。
   
(みやほりん)

コメント返信:

[ 一覧(最新更新順) ]


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