- 締切済み
エクセル 式が入っているセルから文字を取り出したい
たとえば セルA1に =B10/1000 という式があるときに、 A1セルの = を取り除いた文字を B1に取り出したいのですが、やり方を教えてください。 B1には B10/1000 という文字が入るようにしたいのです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
Excelの関数では、あるセルの数式・関数式を捉えることは出来ません。式はセルの属性のうち、値とは違うカテゴリのもので、関数式はセルの値!しか参照の対象に出来ないことを、初心者は判っていない人が多い。 GET.CELLはExcel 4.0 マクロの情報関数で、上記のように通常関数では式を捉えられないので、苦肉の策で昔のマクロが関数のカタチをしていたことを幸いに、回答では良く出てくるが、これをいまさら使うというのは、と思います。 4.0時代では式が捉まえられるプログラムが用意してあった。 しかし、VBAが出来て、今ではユーザー関数に役割はゆだねられた。 今では、標準モジュールに実質中身1行で Function siki(a) siki = a.Formula End Function と作って、セルで=siki(A1)と入れればよい。 例 A列 B列 D列(=siki(A1)等) 4 1 =B1+B3 4 =SUM(B1:B5) 3 ーー 何も今では難しい4.0のマクロを勉強することは無いと思うが。鵜呑みにして、それでよいならどうぞ。 ーーーーー ツールーオプションー表示ー数式にチェックを入れると数式が見れる。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 既に回答された内容と、内容が一部がカブっています。 挿入→名前→定義で、、 名前(W:) SIKI (任意) 参照範囲 B1: =MID(GET.CELL(6,!A1)&LEFT(NOW(),0),2,256) A1 に数式を入れ、B1 に、=SIKI と入れる、出てきます。 ------------------------- または、 Alt + F11 で、VBEditor 画面を出し Alt + i --> M (挿入-->標準モジュール) Function fSIKI(セル As Range) If セル.HasFormula Then fSIKI = Mid(セル.FormulaLocal, 2) Else fSIKI = "" End If End Function ワークシートに戻り、 =fSIKI(A1) とすればその内容が出てきます。 なお、どちらも、セキュリティが、中にしてあると、マクロが入っている旨のメッセージが出てきます。
- misatoanna
- ベストアンサー率58% (528/896)
[挿入]-[名前]-[定義] でマクロ関数が使える環境でしたら―― 1.B1を選択した状態で次のように名前を定義します。 ・名 前: 適当に(例:TEST) ・参照範囲: =GET.CELL(6,A1) 2.B1に次の数式を入力します。 =SUBSTITUTE(TEST,"=",)