Excelノート 15-04 セルのデータ

HOME  検索  索引  もくじ  関数目次  前ページへ  次ページへ

タイトル欄のアドレスは、 エクセルファンクラブ の該当する頁へのリンク先です。
詳しい事は、こちらの
お願い をご覧になってください。

61 ひらがな・カタカナ・漢字のデータを、全てひらがなに変換するには?
62 縦書の表示にした時、セル内で改行した2行以上の文字列を左から表示するには?
63 ABC……Zを、オートフィルで連続入力するには?
64 指定範囲のセルが全て空白かどうか調べるには?
65 複数のセル内の改行を、一気に解除するには?
66 セル内数値を英語表記するには?
67 セルのデータが、数値か文字列かを判定するには?
68 セルの幅からはみ出した部分を表示しないようにするには?
69 複数の条件に合致するセルの個数を出したい
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 

61 ひらがな・カタカナ・漢字のデータを、全てひらがなに変換するには?
1. A列に変換したい文字列を入れます。
2. A列を選択し、【書式】【フリガナ】【設定】で【ひらがな】にチェックを入れてOK。
3. B1に、=PHONETIC(A1) と入れて、下までオートフィルでコピーします。   

他からコピー等で振り仮名が表示されない場合は、先にこちらの方法で表示させます。
 ほかからコピーした漢字のフリガナを表示するには?

62 縦書の表示にした時、セル内で改行した2行以上の文字列を左から表示するには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200208/02080105.txt 
 「セル内の文字を縦にしたときの折り返し方向を変えるには?」 【編集ラウンジ】
選択範囲の全てのセルを一気に処理します。
あらかじめ行と行の間に、Alt+Enterでセル内改行を入れてください。
単純に行を入れ替えていますので、戻したいときは再度マクロを実行してください(^^;

Sub miko_test2()
 Dim c As Range
 Dim i As Integer, j As Integer, N() As Integer
 Dim S As Integer, E As Integer, A As String
 '選択したセル全てを処理
 For Each c In Selection
  c.Merge
  
'最後に改行コードを追加
  If Right(c.Value, 1) <> Chr(10) Then c.Value = c.Value & Chr(10)
  j = 0
  ReDim Preserve N(j)
  N(j) = 1
  
'改行コード位置から、2行目以降のスタート位置を配列変数に格納
  For i = 1 To Len(c.Value) - 1
   If Mid(c.Value, i, 1) = Chr(10) Then
    j = j + 1
    ReDim Preserve N(j)
    N(j) = i
   End If
  Next
  
'最終行最終文字の位置を格納
  j = j + 1
  ReDim Preserve N(j)
  N(j) = Len(c.Value)
  
'最後の行から最初の行までの、最初の文字位置(S)・最後の文字位置(E)を格納
  For i = j To 1 Step -1
   If N(i - 1) = 1 Then
    S = N(i - 1)
   Else
    S = N(i - 1) + 1
   End If
   E = N(i)
   
'最後の行から最初の行に入れ替えた文字列を格納
   A = A & Mid(c.Value, S, E - S) & Chr(10)
  Next
  
'行を入れ替えた値から、最後の余分な改行コードを消して入力
  c.Value = Left(A, Len(A) - 1)
  A = ""
 Next
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。

63 ABC……Zを、オートフィルで連続入力するには?
【ツール】【オプション】【ユーザー設定】の【リストの項目】に、
A エンター B エンター と一文字づつ改行してZまで入力し、【追加】【OK】。
↑の操作をマクロにしました。こんなの使うの、月次フォーマットする私くらいかな(^^;
Sub アルファベットオートフィル設定()
 Application.AddCustomList ListArray:=Array("A", "B", "C", "D", "E", "F", "G", "H", _
    "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
64 指定範囲のセルが全て空白かどうか調べるには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200308/03080336.txt
 「選択範囲について教えてください」 【VBAラウンジ】
Sub test()
 With Range(Cells(1, 10), Cells(3, 20))
  If WorksheetFunction.CountBlank(.Cells) = .Count Then
   MsgBox "全て空白です"
  End If
 End With
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
65 複数のセル内の改行を、一気に解除するには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200310/03100095.txt
 「1行目の見出し項目で改行している文字について改行を1発で解除する方法は?」 【編集ラウンジ】
【編集】【置換】で、
  検索する文字列 : Ctrl + J
  置換後の文字列 : 何も入力しない
この状態で、【全て置換】をクリックします。
66 セル内数値を英語表記するには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200401/04010001.txt
 「セル内数値を英語表記するには?」 【編集ラウンジ】
Function val2eng(v0 As Variant) As String
 Dim v1 As Variant
 Dim keta1(20) As String, keta2(10) As String
 Dim kotae As String
 Dim ST As String, st100 As String, st10 As String, st1 As String
 Dim dec100 As Byte, dec10 As Byte, dec1 As Byte
 Dim m100 As Integer, m10 As Byte, m1 As Double

 '[1] 準備 エラーの場合は "@@@@@"
 If VarType(v0) >= 7 Or VarType(v0) <= 1 Or v0 < 0 Or v0 >= 1E+15 Then
  val2eng = "@@@@@"
  Exit Function
 ElseIf v0 = 0 Then
  val2eng = " zero"
  Exit Function
 ElseIf v0 <> Int(v0) Then
  val2eng = "@@@@@"
  Exit Function
 End If
 '[2] 準備
 v1 = CDec(v0)
'値
 keta_suu = Len(v0)
'桁数
 keta1(0) = ""
'書く必要ないが一応
 keta1(1) = " one"
 keta1(2) = " two"
 keta1(3) = " three"
 keta1(4) = " four"
 keta1(5) = " five"
 keta1(6) = " six"
 keta1(7) = " seven"
 keta1(8) = " eight"
 keta1(9) = " nine"
 keta1(10) = " ten"
 keta1(11) = " eleven"
 keta1(12) = " twelve"
 keta1(13) = " thirteen"
 keta1(14) = " fourteen"
 keta1(15) = " fifteen"
 keta1(16) = " sixteen"
 keta1(17) = " seventeen"
 keta1(18) = " eighteen"
 keta1(19) = " nineteen"
 keta2(0) = ""
'書く必要ないが一応
 keta2(1) = ""
'書く必要ないが一応
 keta2(2) = " twenty"
 keta2(3) = " thirty"
 keta2(4) = " forty"
 keta2(5) = " fifty"
 keta2(6) = " sixty"
 keta2(7) = " seventy"
 keta2(8) = " eighty"
 keta2(9) = " ninety"
 kotae = ""
'初期化
 ' [3] メインルーチン
 For i = 0 To Int((keta_suu - 1) / 3)
  ' 下3桁ずつの数字をとりだす
  m100 = CInt(Right(v1, 3))
  m10 = CByte(Right(v1, 2))
  dec1 = CByte(Right(v1, 1))
'1 の位の数字
  dec100 = CByte((m100 - m10) / 100)
'100 の位の数字
  dec10 = CByte((m10 - dec1) / 10)
'10 の位の数字
  If dec10 = 1 Then
'(1) 下2桁が1のとき tenからnineteenのどれか
   If dec100 >= 1 Then
    st100 = keta1(dec100) & " hundred"
   Else
    st100 = ""
   End If
   st10 = keta1(10 + dec1)
'ten から nineteenのうちのどれかをketa1から選んでくる。
   ST = st100 & st10
'今回の3桁の答え
  Else
'(2) その他のとき
   If dec100 >= 1 Then
    st100 = keta1(dec100) & " hundred"
'100の位の数字と"hundred"
   Else
    st100 = ""
'100の位の数字が0なので、空文字""
   End If
   st10 = keta2(dec10)
' thirtyからninetyもしくは、空文字"" (dec10が0のとき)
   st1 = keta1(dec1)
   ST = st100 & st10 & st1
'今回の3桁の答え
  End If
  If m100 > 0 Then
'全体と今回の3桁との結合(わかりやすく書く)
   Select Case i
    Case 0
     kotae = ST
    Case 1
     kotae = ST & " thousand" & kotae
    Case 2
     kotae = ST & " million" & kotae
    Case 3
     kotae = ST & " billion" & kotae
    Case 4
     kotae = ST & " trillion" & kotae
   End Select
  End If
  v1 = Int(v1 / 1000)
 Next i
 Erase keta1, keta2
 val2eng = kotae
End Function

  このコードの使い方は、マクロの使い方(6)ユーザー定義関数にあります。
67 セルのデータの型を判定するには?(数値・日付・空白)
http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200302/03020349.txt
 CELLの内容が空欄か文字列かを判断するには 【VBAラウンジ】
Sub test()
 If Not IsEmpty(ActiveCell.Value) Then
  If IsNumeric(ActiveCell.Value) Then
   MsgBox "数値"
  ElseIf IsDate(ActiveCell.Value) Then
   MsgBox "日付"
  Else
   MsgBox "数値、日付以外"
  End If
 Else
  MsgBox "空白"
 End If
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
68 セルの幅からはみ出した部分を表示しないようにするには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200405/04050110.txt
 セルの幅からはみ出した部分を表示しないようにするには? 【編集ラウンジ】
【書式】【セル】【配置】で、【横位置】を【繰り返し】にします。
69 複数の条件に合致するセルの個数を出したい
http://www.efcit.co.jp/cgi-bin2/wwwlng.cgi?print+200406/04060031.txt
 「複数条件に合致するデータ個数」 【関数ラウンジ】
  A B C D E F  
1 商品 単価   商品 単価 個数 F列の数式
2 りんご 50 りんご 50 2 =SUMPRODUCT((A$2:A$11=D2)*(B$2:B$11=E2))
3 みかん 50 りんご 100 2 =SUMPRODUCT((A$2:A$11=D3)*(B$2:B$11=E3))
4 ぶどう 50 みかん 50 2 =SUMPRODUCT((A$2:A$11=D4)*(B$2:B$11=E4))
5 りんご 50 みかん 100 1 =SUMPRODUCT((A$2:A$11=D5)*(B$2:B$11=E5))
6 みかん 50 ぶどう 50 1 =SUMPRODUCT((A$2:A$11=D6)*(B$2:B$11=E6))
7 ぶどう 100 ぶどう 100 2 =SUMPRODUCT((A$2:A$11=D7)*(B$2:B$11=E7))
8 りんご 100        
9 みかん 100        
10 ぶどう 100        
11 りんご 100        
 
70  
 
71  
 
72  
 
73  
 
74  
 
75  
 
76  
 
77  
 
78  
 
79  
 
80  

HOME  検索  索引  もくじ  関数目次  前ページへ  次ページへ

このページのTOPへ

inserted by FC2 system