- 締切済み
参照セルの式を文字として取得するには
あるシートのB列に下記の書き込みがしてあります。 A B 1 =単価!C5 2 =単価!C2 3 =単価!C6 4 =単価!C4 セルA1に関数で"単価!C5"と文字で取得したいと思っています。 どなたか教えてください。 A列は同じシートの別な列を参照するのですが、B列の参照セルの行番号は同じにしたいのです。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- mshr1962
- ベストアンサー率39% (7417/18945)
No.1です。 >=単価!B&MID(susiki(B1),FIND("C",susiki(B1))+1,2)) まず単価!Bが文字列でないのでエラーします。 "単価!B"としても今度は"単価!B2"のような文字列が表示されるだけです。 その座標の文字列でセル参照したい場合は下記のようにINDIECT関数を使用する必要があります。 =INDIRECT("単価!B"&MID(susiki(B1),FIND("C",susiki(B1))+1,2))
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
別な方法を考えたほうがよさそうに思うのですが、一応 [Ctrl+[Shift]+[@]数式の表示 B1:B4セル範囲を選択する コピー メモ帳に貼り付け [Ctrl]+[A]すべて選択 コピー Excelに戻り、[Ctrl+[Shift]+[@]数式の非表示 C列の表示形式を文字列として C1セルを選択して、貼り付け 参考まで
- KURUMITO
- ベストアンサー率42% (1835/4283)
A1セルにB1セルに入力した式を表示させたところでどんなことができるのでしょう。行いたいことはB1セルと同じ行で列の違うセルの値を表示したいとのことでしょう。 その場合にはたとえばA1セルには=INDEX(単価!$A:$D,行番号,列番号)の式でよいでしょう。 たとえばB1セルでの表示が単価シートのC5セルでしたらB1セルへの入力の式は=INDEX(単価!$A:$D,5,3)となります。そして、A1セルでは同じ行のD列の値を表示させるのでしたらA1セルへの入力の式は=INDEX(単価!$A:$D,5,4)となりますね。ご参考になりましたら幸いです。
- mu2011
- ベストアンサー率38% (1910/4994)
一案です。 (1)現在のB列を=INDIRECT("単価!C"&5)~=INDIRECT("単価!C"&4)に変更 (2)B列をA列にコピ→置換で列名称(!C)を置き換え
- WWolf
- ベストアンサー率26% (51/192)
こんにちは。 ユーザー定義関数を使うしか思いつきませんので参考に。 VBEの標準モジュールに Function Susiki(objCell As Range) As String Susiki = objCell.Formula End Function とし、セルA1に =susiki(B1) これでしょうか? また、単純に容易にセルの式内容を確認したいだけなら Shift+Ctrl+@ で数式は見れます
- mshr1962
- ベストアンサー率39% (7417/18945)
設定が逆になりますが下記のようにすればいいのでは? A B 1 単価!C5 =INDIRECT(A2) 2 単価!C2 =INDIRECT(A3) 3 単価!C6 =INDIRECT(A4) 4 単価!C4 =INDIRECT(A5)
補足
WWolfさんを参考にさせてもらい、セルA1に下記を入力し、 =MID(susiki(B1),FIND("C",susiki(B1))+1,2)) 「5」を取得できました。 そこでシート「単価」のB列の行番号にできると考え下記にしてみたのですが「エラー」になってしまいます。 =単価!B&MID(susiki(B1),FIND("C",susiki(B1))+1,2)) このあとが分かりません。教えてください。