No.6
- 回答日時:
Sheet1のA1:G10に、セル参照式ということなら下記で試してください。
Sheet2で、値に置換しています。
Dim rng1 As Range
Dim rng2 As Range
Dim c As Range
Dim i As Long
Dim j As Long
Set rng1 = Sheets("Sheet1").Range("A1:G10")
Set rng2 = Sheets("Sheet2").Range("A1")
For i = 1 To rng1.Columns.Count
With rng1.Columns(i)
rng2.Offset(j).Resize(.Cells.Count).Value = .Value
j = j + .Cells.Count
End With
Next i
Set rng2 = rng2.Resize(j)
For Each c In rng2
If c.Value <> "" Then
c.Offset(, 1).Value = Application.GetPhonetic(c.Value)
End If
Next
Set rng2 = rng2.Resize(, 2)
rng2.Sort _
Key1:=rng2(1, 2), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
No.5
- 回答日時:
VBAの例です。
試してみてください。
Dim rng As Range
Dim c As Range
Dim i As Long
Dim j As Long
Set rng = Sheets("Sheet1").Range("A1:G10")
For i = 1 To rng.Columns.Count
With rng.Columns(i).SpecialCells(xlCellTypeConstants)
.Copy Sheets("Sheet2").Range("A1").Offset(j)
j = j + .Cells.Count
End With
Next i
Set rng = Sheets("Sheet2").Range("A1", Range("A1").End(xlDown))
For Each c In rng
c.Offset(, 1).Value = Application.GetPhonetic(c.Value)
Next
Set rng = Sheets("Sheet2").Range("A1", Range("A1").End(xlDown)).Resize(, 2)
rng.Sort _
Key1:=rng(1, 2), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
並べ替えに振り仮名を使っています。
振り仮名は機械的に取得されたものです。
正しいかどうか確認を要します。
特に人名・地名は独特な読み方がされるので難しいです。
No.4
- 回答日時:
こんばんは!
No.3です!
再びお邪魔します。
A1~G10セルは直接入力ではなく、外部データということになるわけですね?
その場合はふりがな情報は欠落しているはずですので、
PHONETIC関数を使っても何も表示されないと思います。
やはりVBAで対応するしかないようですね!
簡単なVBAを載せておきますので、VBEの標準モジュールにコピー&ペーストして
マクロを実行してみてください。
そうすると↓の画像のようにヨミが表示されると思います。
尚、この場合は空白セルには数式が入っていませんので、
Q1セルの数式は
=IF(I1="","",COUNTIF($I$1:$O$10,"<"&I1)+COUNTIF($I$1:I1,I1))
でOKかと思います。
(画像のA1~G10セルはSheet3から引っぱって来ています)
A1~G10セルを範囲指定し、以下のマクロを実行してみてください。
Sub test()
Dim c As Range
For Each c In Selection
If c = "" Then
c.Offset(, 8) = ""
Else
c.Offset(, 8).Value = Application.GetPhonetic(c)
End If
Next c
End Sub
今度はお役に立てば良いのですが・・・m(__)m
No.3
- 回答日時:
こんばんは!
参考になるかどうか判りませんが・・・
無理矢理って感じの方法です。
A1~G10セルには名前が入っているということですので、
単純に昇順にしてしまうと音読みの順になるのではないでしょうか?
(間違っていたらごめんなさい。)
そこで↓の画像のように作業用の列(表)を使ってヨミを表示させています。
(画像が小さくて見にくいかもしれません)
Sheet1のI1セルに
=PHONETIC(A1)
として列方向と行方向にデータと同じ列・行数ほどオートフィルでコピーします。
そして、もう一つの作業用の表のQ1セルに
=IF(I1="","",COUNTIF($I$1:$O$10,"<"&I1)+COUNTIF($I$1:I1,I1)-COUNTIF($I$1:$O$10,"<>"&"?*"))
という数式を入れこれも列方向と行方向にコピーします。
これで元データの昇順の順位が表示されます。
この数値を元にSheet2に表示させるようにします。
Sheet2のA1セルに
=IF(COUNT(Sheet1!$Q$1:$W$10)<ROW(A1),"",INDEX(Sheet1!$A$1:$G$10,MAX(INDEX((Sheet1!$Q$1:$W$10=ROW(A1))*ROW($A$1:$A$10),)),MAX(INDEX((Sheet1!$Q$1:$W$10=ROW(A1))*COLUMN(Sheet1!$A$1:$G$1),))))
という数式を入れ、オートフィルで下へずぃ~~~!っとコピーすると
画像のような感じになります。
以上、かなり手間がかかりますが
参考になれば幸いです。
他に良い方法があれば読み流してくださいね。m(__)m
この回答へのお礼
お礼日時:2010/04/06 00:22
ありがとうございます。
A1~G10セルには名前が入っていますが
名前は値ではなくてリンク先のセル番号が入っています。
で
Sheet1のI1セルに
=PHONETIC(A1)
として列方向と行方向にデータと同じ列・行数ほどオートフィルでコピーします。
名前のふりがなは出ませんでした。出す方法はありますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) 一つのセルに複数の関数を入力する方法 4 2022/09/30 13:42
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Outlook で宛先が複数の場合の人数
-
【スプレッドシート】指定の日...
-
Microsoft Formsの「個人情報や...
-
Microsoft Edgeの「ニュースと...
-
VLOOKUP関数について
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
outlookのメールが固まってしま...
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft365で写真をアルバム...
-
Microsoft Officeに似たキング...
-
会社におけるOfficeライセンス...
-
【スプレッドシート】白色のセ...
-
Excel VBA 日程表からスケジュ...
-
VBAファイルの保存先について
-
エクセル、ワード、ネット検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報