advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 22 for 両対数グラフ (0.001 sec.)
[[20240406181535]]
#score: 13804
@digest: 124dec909a6db82551d4d71f03854208
@id: 96558
@mdate: 2024-04-07T03:37:16Z
@size: 5168
@type: text/plain
#keywords: tmptable (122550), 角| (48016), 行テ (35786), 用漢 (23208), 能天 (20578), 暦") (15497), 結4 (14647), ム列 (14228), 音( (13266), 常用 (12654), 角") (12619), 漢字 (9852), ト| (9012), 字1 (8721), 述例 (8668), 収容 (7841), 部" (7586), 列| (6664), 天気 (6024), 字表 (5154), 成3 (4992), 量デ (4827), ダム (3992), 生成 (3695), らラ (3668), 字一 (3651), カラ (2995), 列+ (2711), randbetween (2646), ンダ (2479), ラン (2456), 内部 (2389)
『ある桁数までの文字列+漢字1文字を生成』(能天気)
閲覧ありがとうございます。 ある大量データの情報から、限られた情報をKeyとした上で、 データを作成したいと考えています。 主に、Cカラム列に全角がHITして、Dカラム列の桁数に応じて、 文字列 + 漢字1文字 で編集したいと思っています。 例えば、 ・Cカラム列が全角 ・Dカラム列が20 結果:あがますおけらりるれをまのぬしざじつら幸 (文字列19字/(漢字1文字)) ※文字列は、最悪全て同文字でも構いません(「ああああああ」や「いいいい」) そのコーティング例を、下記スコープの箇所にご教授願います┏○)) <Input(内部"Sheet1")について> |A列 |B列 |C列|D列|…|X列| |No |項目 |属性|桁数|…| | |1 |1行テキスト |全角|1 |…| | |2 |1行テキスト |全角|20|…| | |3 |1行テキスト |半角|3 |…| | |4 |1行テキスト |半角|8 |…| | |5 |1行テキスト(和暦)|半角|6 |…| | |6 |1行テキスト |全角|14|…| | |7 |- |- | |…| | |〜 |〜 |〜 |〜 |…| | |9999|1行テキスト(西暦)|半角|8 |…| | ≪ソースについて≫ option explicit Dim s,Tmp As String Dim i,x,z,j As integer Dim TmpTable() As Variant Dim 最終行 As Long 最終行 = Cells(.Rows.Count,“A”).End(xlUp).row 内部"Sheet1"のrange("B1:E" & 最終行)をTmpTable()に格納します。 x = 0 z = 0 i = 0 Do Until i > 最終行 Select case True case TmpTable(i,1) = "-" TmpTable(i,4) = "-" case Instr(TmpTable(i,1),"和暦") > 0 TmpTable(i,4) = Format(Now + z, "eemmdd") z = z + 1 case Instr(TmpTable(i,1),"西暦") > 0 TmpTable(i,4) = Format(Now + x, "yyyymmdd") x = x + 1 case Instr(TmpTable(i,1),"全角") > 0 ※ここでの記述例をご教授願います。 { 1.漢字1文字をランダムに生成 2.桁数分-1の文字列を生成 3.ランダムに生成した漢字1文字を、2.で生成した文字列に連結 4.TmpTable(i,4)に結果を収容 こんな感じで作成頂けましたら幸いです。 } case Instr(TmpTable(i,2),"半角") > 0 If TmpTable(i,3) < 3 Then If TmpTable(i,3) = 1 Then TmpTable(i,4) = Int(9 * Rnd + 1) End If If TmpTable(i,3) = 2 Then TmpTable(i,4) = 1 & Int(9 * Rnd + 1) End If Else j = 0 Do Until j < TmpTable(i,3) - 1 Tmp = Tmp & s j = j + 1 Loop TmpTable(i,4) = 1 & Tmp & s & Int(9 * Rnd + 1) End If case else End Select i = i + 1 Loop 内部"Sheet1"のXカラム列に、TmpTable()の4列目を貼付 処理終了 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- ひらがなは特に問題なく、特定の範囲の文字コードからランダムに取り出すことで抽出可能でしょう。 漢字一文字というのが曖昧です。 されようとしていることがよく理解できないのですが、 「ある大量データの情報」のなかに現れる漢字ということなんですか? それとも一般的な漢字ということでいいんですか? 後者なら、Unicodeコードを指定してランダムに抽出することになるかと思いますが、 CJK漢字ということになるので、日本では余り使用されない漢字も入ってきます。 それでは困るということなら、常用漢字表のようなものをシートに取り込んで、 そのなかからランダムに取り出すことになるでしょう。 そのあたりをもう少し説明されたほうがいいでしょう。 (xyz) 2024/04/07(日) 08:44:18 ---- xyz様 コメントありがとうございます。 説明不足で申し訳ございません。 後者の「一般的な漢字」のご認識で問題ございません。 その後者を上記でご提示させて頂きましたスコープ内に、「常用漢字表のようなものをシートに取り込んで、そのなかからランダムに取り出す」記述例をご教授頂けましたら幸いです。 1.常用漢字表のようなものをシートに取り込んで、そのなかからランダムに取り出す 2.桁数分-1の文字列を生成 3.2.で生成した文字列と1.で取り出した漢字1文字を連結 4.TmpTable(i,4)に結果を収容 (能天気) 2024/04/07(日) 10:48:38 ---- 常用漢字表は例えば下記。 https://ja.wiktionary.org/wiki/%E4%BB%98%E9%8C%B2:%E5%B8%B8%E7%94%A8%E6%BC%A2%E5%AD%97%E3%81%AE%E4%B8%80%E8%A6%A7 これをA列に読み込んでおいて、 k = Application.Randbetween(m,n) 'mからnの間の整数乱数。m,n は漢字個数によって決めてください。 s = Cells(k,"A") 'ランダムな漢字一文字 のようなかんじですね。 ひらがなも同様にできるのではないですか? 直接、文字コードから文字を取り出すこともできます。 ランダムなひらがな10文字を s にセットする例は、次のようになります。 Sub test() Dim j&, k&, s$ s = Application.Rept(" ", 10) For j = 1 To 10 k = Application.RandBetween(1, 66) Mid(s, j, 1) = ChrW(12352 + k) Next ' Debug.Print s End Sub なお、コードは確認しながら、ご自分でトライしてください。 (xyz) 2024/04/07(日) 11:40:56 ---- なお、ひらがな66文字のなかには、 拗音(ゃゅょ)や促音(っ)や濁音、半濁音なども含まれていることに注意して下さい。 それらを除きたいなら、除いた文字列をシートに展開して、ランダムに取り出す方式でしょう。 (xyz) 2024/04/07(日) 11:57:44 ---- xyz様 ご教授いただきありがとうございます。 お教え頂いた内容を色々弄ったりして試行錯誤してみようと思います。 ありがとうございました! (能天気) 2024/04/07(日) 12:37:16 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202404/20240406181535.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97039 documents and 608037 words.

訪問者:カウンタValid HTML 4.01 Transitional