エクセルでルビ付きのセルを参照する方法

このQ&Aのポイント
  • エクセルのルビがついたセルを参照してルビ付きで表示する方法について教えてください。
  • エクセルのバージョンは2007で、200以上のセルにルビがついており、順序が変わることもあります。
  • PHONETIC関数を使った上下二つのセルの方法も試しましたが、うまくいきませんでした。一つのセルでルビ付きのセルを参照する方法はありますか?
回答を見る
  • ベストアンサー

エクセルのルビがついたセルを参照してルビ付きで表示

例えばシート1の”A1”のセルに 鈴木 と打ち込んでルビ付きで表示すると 鈴木 の上に すずき とルビが表示されます。 シート2でこの内容をそのまま表示したいと思い =シート1!A1 と入力したとき、そこにはただ 鈴木 としか出ません。 この式を入力したセルのルビを表示するように指定しても ルビが表示されることはありません。 式でシート1のA1を参照して、同時にルビも表示できるようにするには 何か方法があるでしょうか。 ちなみに、実際に表示したいセルは200くらいあり それを表示したいシートも数枚あり、 条件設定で順序が変わったりするので 一つ一つコピーするというのは事実上無理があります。 また、上下二つのセルを使い、 上の段に =PHONETIC を使ってふりがな 下の段に漢字ということも考えたのですが 別の不具合が出てしまい断念しました。 シート1の A1 と同じように一つのセルで表示する方法が無いものでしょうか? ちなみにエクセルのバージョンは2007です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

> シート1の A1 と同じように一つのセルで表示する方法が無いものでしょうか? 基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。 どうしても元データと同じように表示したいなら図のリンク貼り付けの機能を利用することになります。 参照元のデータを選択して「コピー」し、貼り付け先のセルを選択して、ホームタブの「貼り付け」の下の▼をクリックして「図のリンク貼り付け」を選択します。 数式で表示されているのではなく、ふりがな情報のない文字列のふりがなを一括して付加させたいなら(数式セルを普通の文字列に変換するには、数式セルを選択して、右クリック「コピー」し、そのままもう一度右クリック「形式を選択して貼り付けで「値」を選択する)、ふりがなのないセル範囲を選択してから、Alt+F11でVBEを起動しCtrl+Gでイミディエイトウィンドウを表示して、ここに以下のコードを入力してEnterしてみてください。 selection.setphonetic ただし、上記の方法で自動的に作成したふりがなは必ずしも正しい読みと位置するとは限らないので(ワタナベとワタベなど)、最終的にはチェックする必要があります。

a_kurokin
質問者

お礼

今回は一つずつ手作業でやっちゃうことにしました。 関数で表示した値は書式情報を付加することはできないということがわかったことで、 別の方法を考えるしかないという覚悟ができましたので 今回ベストアンサーとさせていただきました。

a_kurokin
質問者

補足

> 基本的に関数で表示した値はふりがなを含めて書式情報を付加することはできません。 やはりそうですか... シート1は、正しいルビに修正済みなので そこをコピーして貼付けていく地道な作戦でいこうかと思い始めています。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1のA列にある氏名を例えばシート2のA1セルに式を使って=Sheet1!A1のようにしている場合にはふりがなを付けることはマクロを使っても無理のようです。 そこで苦肉の策ですがコメントの挿入の機能を利用してマクロを使って表示させることではどうでしょう。 例えばシート1のA列に氏名が有って、シート2のA列で同じ氏名の人についてはふりがなの表示を設定して表示させる方法です。 「開発」タブの「マクロ」でマクロ名に「ふりがな表示」とでも入力し「編集」ボタンをクリックします。 表示の画面で次のコードを入力します。 Sub ふりがな表示() Dim n, m, s, i, p As Long Dim A As String Set WS1 = Worksheets("Sheet1") Set WS2 = ActiveSheet n = ActiveCell.Row m = ActiveCell.Column s = Range(ActiveCell.Address).CurrentRegion.Rows.Count With WS1.Range("A:A") For i = n To s A = WS2.Cells(i, m) Set x = .Find(A, LookIn:=xlValues) If Not x Is Nothing Then p = Range(x.Address).Row furigana = Application.GetPhonetic(WS1.Cells(p, 1)) WS2.Cells(i, m).ClearComments WS2.Cells(i, m).AddComment (furigana) End If Next End With End Sub マクロの操作は選んだシートの該当列を選択してから「マクロ」の「実行」をクリックして行います。 シート1のA列にある氏名については該当するセルのコメントにはふりがなが入力されますので「校閲」タブで「すべてのコメントの表示」をクリックすれば該当するセルにはコメントの窓にふりがなが表示されます。

a_kurokin
質問者

お礼

今回は一つずつ手作業でやっちゃうことにしました。 マクロの良いところもたくさんあると思うので、 教えていただいたマクロも参考にしながら 精進したいと思います。

a_kurokin
質問者

補足

マクロも考えたのですが、 マクロだと実行しなければ反映されないので 何か便利な式がないものかと思っていたところです。 コメントの機能は自分の発想の中にはなかったので、 後でゆっくりと吟味してみたいと思います。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

式[=phonetic(シート1!A1)]を設定したらどうなります?

a_kurokin
質問者

お礼

今回は一つずつ手作業でやっちゃうことにしました。 次回に向けて、phoneticの式も使いながら うまいことできる方法を検討してみます。 回答ありがとうございました。

a_kurokin
質問者

補足

回答ありがとうございます。 しかし、欲しいのはふりがなだけの表示ではなく ルビがふられた状態の漢字をそのまま表示したいということなのです。 やっぱり、難しいですかねえ。

関連するQ&A

  • 【Excel】 他のセルを参照しているせルのふりがなが出せません。

    こんにちは。 sheet1のA1にはsheet2のA1とA2の文字を繋ぐ為、 「Sheet2!A1&Sheet2!B1」という式が入っています。 sheet1 A2に そのA1のふりがなを取り出す為、 「PHONETIC(A1)」としましたが、空白になってしまいます。 他のセルを参照しているA1に表示されている文字列の ふりがなを取り出す方法を教えてください。 なお、「PHONETIC(Sheet2!A1:B1)」という形はできないとして下さい。 A1の文字列は、実際は大変複雑な組み合わせで表示されていることと、 その組合せの違うセルが数千行あるため、 A2にも同じように数千行の参照をしたPHONETIC関数を組むことは避けたいと思います。 Excel2003です。 よろしくお願いいたします。

  • エクセルで5セルごとに参照したい。

    エクセルで、 あいうえおかきく...等とセルが一列に並んでいる時に、 そのセルへ式を使って入力するのに参照したい別の行があります。 ア□□□□イ□□□□ウ□□□□…という風に、5セルごとに参照したい列があります。 セルあ「VLOOKUP($A1,Sheet1!$A:$Z,1,FALSE)」 セルい「VLOOKUP($A2,Sheet1!$A:$Z,6,FALSE)」 セルう「VLOOKUP($A2,Sheet1!$A:$Z,11,FALSE)」 上のような感じで、でもいちいち数字を入力せずに、セルの左下を引っ張ったらうまく参照されるような式、ないでしょうか。。。

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • エクセル コピーしたセルにふりがなを表示させる方法

    タイトルの通りなのですが、具体的に書きます。 エクセルに詳しい方、よろしくお願いします。 Sheet1のC6のセル(漢字の名前)を Sheet2のD12のセルでコピー(=Sheet1!C6)させたのですが、 このセル(Sheet2のD12)にふりがなを表示させたいです。 私はマクロには疎いのですが、ネットで検索したところ、 Sub ふりがな設定() Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub を登録して実行すれば良いと書いてあったので試したのですが 実行しても、ふりがなが表示されません。 別の方法でも構いませんので、何か良い方法があれば 教えていただきたく、よろしくお願いします。

  • エクセル セルの参照

    エクセルのセルの参照でうまくいかないので教えてください 今sheet1のA1に「10:00」、B1に「12:00」と入力されています シート2の任意のセルに「10:00~12:00」というふうに表示したく =Sheet1!A1&"~"&=Sheet1!B1  と入力したのですが、 0.4166666666666667~0.5 というふうに返ってきます 「10:00~12:00」というふうに表示する方法はありませんか? あったら教えてください

  • エクセルのセル参照について

    例えば、Sheet1のA1に「1」、A2に「2」、A3に「3」と入力して、 Sheet2のA1に、「1、2、3」と表示させたいのですが、可能でしょうか? 単に一つのセルを参照するだけなら出来ますが、複数のセルを参照することが出来るのでしょうか? よろしくお願いします。

  • Excelにて、参照先のセル列を求めるには?

    教えて頂きたいのですが、 Excelにてシート1に、1の段から9の段までの九九表があります。 その九九表よりシート2のA1に『=』で、 ランダムに答えを持ってくるとします。 そしてさらに、シート3のA1に、シート2のA1を参照して シート1の列が出せるようにするには どうすれば良いのでしょうか? 例を出すと、 シート1のD6=24 (D=4列目 、 6=6行目)を、 シート2のA1に参照させました。 シート2のA1には24(式は『=D6』)が入っています。 シート3のA1にシート2のA1を参照させて、 『4』(4列目)と表示させるには どういう関数式を入れれば出来ますか? もちろんシート2のA1は その都度ランダムで、入れるセル番号が変わります。 また、九九表というのはあくまで例です。 実際には専門用語の入った一覧表になっていますので、 九九のような、前後に関連性がある表ではありません。 ただ、参照しているセルの前のセルまで さかのぼってセル情報を取得出来る方法を知りたいのです。 こういうことって可能でしょうか? 分かる方教えて下さい。宜しくお願い致します。

  • セルの参照について

    いつもお世話になっています。 セールの参照でシート1に縦ならびにシート2のデータを横順序で読み込んでいきたいのですが、セルにはどのように入力すればよろしいでしょうか? シート1でA1をJ10までドラッグするとシート2のA1~A10が読み込まれるような式です・・・。 普通にシート1のA1に「=Sheet2!A1」といれてドラッグすると下にドラッグするとシート2も下に相対参照してしまい・・・。数のみを絶対参照にアルファベット(列)を相対参照にすることはできるのでしょうか? よろしくお願いします・・・。

  • エクセルについて

    名前と住所を一緒に入力したセルから、名前だけを取り出してフリガナ表示させたいのですがなかなか上手くいきません・・・ =LEFT(PHONETIC(A★),FIND("/",A★) と入力したら、変な区切りで表示されます。 どなたかもっと良い方法教えてください。

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

専門家に質問してみよう