EXCELの関数について 名前の定義がされたセルの名前を、値で取得する関数はありますか? 例えばA2のセルに”0001”と名前の定義がされている場合、

Excel109閲覧

ベストアンサー

1

1人がナイス!しています

名前が付けられていない場合を考慮して ----------- Option Explicit Function MyCellName(ByVal Rng As Range) As String On Error Resume Next MyCellName = "" MyCellName = Rng.Name.Name End Function --------- と修正して下さい >=IF(指定したセルから取得した名前定義の文字 >列="0001"、***,***)のようなことをしたいのですが。 >EXCELの関数ではなくVBAじゃないと無理でしょうか? あくまでも EXCELの関数としてやりたいという事だよね。 なお =IF(MyCellName(A1)="NameA1","TRUE","FALSE") という様な書き方もできます

その他の回答(2件)

0

=CELL("address",名前) は$A$2になりますが if(CELL("address",名前)=$A$2,***,***)はダメかな

回答ありがとうございます。 これだとセル番地(名前の定義ではないもの)が返ってくるので、思ってたのとは違う結果に。 でも、このこれらを参考に考えてみます。

0

恐らく不可能。 名前の定義の使い方として、そんな事を想定していない。 名前の定義はセル自体をグループ化して参照できる物であって、使い方が違うかと。 よく分かりませんが、名前の定義を使用しなくても、A2の横に0001と言う名前を入れて、そのセルを参照さす使い方をすれば、同じ事ができませんか?

やっぱり無理ですか。 そのやり方だと可能なのですが、今している作業上、 セルに名前の定義をして、そのセルには他の情報を記入しているので なにか方法はないかと思い質問したのですが。 やはりVBAしか無理っぽいですかね…