質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%

Q&A

解決済

1回答

487閲覧

Excelのセル参照に関して

skjdujr9djhf

総合スコア28

0グッド

0クリップ

投稿2018/04/03 08:36

前提・実現したいこと

違うシートのセル参照をする場合以下のような場合で取得する
にはどうしたらいいでしょうか?

今sheet1のB2セルから下にコードのような組み合わせが複数あります。
testNoに「20」、testappに「aiueo」と値が入っていますが、これは
sheet2の特定セルと同じ値になっています。

=sheet2!Q20で
特定のシートの特定のセルの値は参照できますが、

「 "appNo" : 20,」となっているセルで20の部分を
参照する方法を教えて頂けないでしょうか。

宜しくお願いします。

該当のソースコード

Excel

1 "test1" : { 2 "testNo" : 20, 3 "testapp" : "aiueo" 4 }, 5 "test2" : { 6 "testNo" : 30, 7 "testapp" : "abced" 8 }, 9 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Excel

1=TRIM(SUBSTITUTE(REPLACE(Q20,1,FIND(":",Q20),""),",",""))

でいかがでしょう。

追記:
Sheet2の、ですね、失礼しました。
また、INTにしたいとのことで、以下のようにしました。

Excel

1=INT(TRIM(SUBSTITUTE(REPLACE(Sheet2!Q20,1,FIND(":",Sheet2!Q20),""),",","")))

何を行っているかを解説します。

  • FINDで":"の位置を探し、REPLACEで先頭から ":" までの文字列を削除する
  • SUBSTITUTEで"," を削除する
  • TRIMで余計な空白を削除する
  • INTで整数にする

追記2:
誤解があったようで、失礼しました。
やりたいことはだいぶシンプルになります。

Excel

1=CONCATENATE(" appNo: ", Sheet2!Q20, ", ")

投稿2018/04/03 08:45

編集2018/04/04 07:47
kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2018/04/03 08:51

しかしJSONデータをExcelで操作するとは、何とも業の深い・・・
skjdujr9djhf

2018/04/04 02:00

値の所に上記の式を入れても、文字列として認識されてしまいます。 またsheet2のセルQ20と指定する場合は =TRIM(SUBSTITUTE(REPLACE(Q20,1,FIND(":",sheet2!Q20),""),",","")) とすれば良いですか?
kazto

2018/04/04 02:41

回答を修正しました。
skjdujr9djhf

2018/04/04 07:33

すみません。 「 "appNo" : 20,」の20に式を代入すると、「 "appNo" : =INT(TRIM(SUBSTITUTE(REPLACE(sheet2!Q20,1,FIND(":",sheet2!Q20),""),",",""))),」となってしまいます。 質問の仕方が悪かったようで、今は20の部分をsheet2の値を見ながら手動で入れています。 そこでsheet2に値を入れたら、その値を参照して「 "appNo" : 20,」となるようにあらかじめ 式を設定できないかという趣旨の質問をしたかったです。 おっしゃる通りjsonファイルなのですが、この値をコピーしてサクラエディタに張り付けてjsonファイルにしています。パラメータを変える場所はさほど多くないのですが、sheet2に値を入れた時にjsonの中身ができているように多少なりとも自動化できたらなと思った次第です。 宜しくお願いします。
kazto

2018/04/04 07:47

そういうことでしたか。。。 さらに回答を修正しました。
skjdujr9djhf

2018/04/05 00:41

文字列を連結するなら、CONCATENATEという関数があるのですね。 ありがとうございました。
kazto

2018/04/05 00:44

お時間に余裕がありましたら、大した数でないのでEXCELの関数ヘルプをざっと流し読みするとよいです。 「へぇ、こんな関数あるんだ」という発見があると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問