数値を1文字づつに分解するには?
JUGEMテーマ:PC関連
A2のセルに1234とあったとして、それらを1文字、1セルに分解したいとします。最大5桁だとすると以下の様な数式で出来ます。
B2のセルに以下の様に入れ、F2までコピーします。
=MID(TEXT($A2,"?????"),COLUMN(A2),1)
広告リンク
- 2016.11.16 Wednesday
- excel
- 13:57
- comments(1)
- trackbacks(0)
- -
- -
- by nombo
JUGEMテーマ:PC関連
A2のセルに1234とあったとして、それらを1文字、1セルに分解したいとします。最大5桁だとすると以下の様な数式で出来ます。
B2のセルに以下の様に入れ、F2までコピーします。
=MID(TEXT($A2,"?????"),COLUMN(A2),1)
JUGEMテーマ:PC関連
A1のセルに、カンマ区切りでデータが入力されているとします。
区切り位置機能を使えば簡単に分解出来ますが、関数でする場合、以下の様な数式になります。
B1のセル:
=LEFT(A1,FIND(",",A1)-1)
C1のセル:
=MID(A1,FIND(",",A1)+1,FIND(",",A1,FIND(",",A1)+1)-FIND(",",A1)-1)
D1のセル:
=RIGHT(A1,LEN(A1)-FIND(",",A1,FIND(",",A1)+1))
JUGEMテーマ:PC関連
条件を記述するセルをD1:F2に記載し、見出し行を追加した場合は、DCOUNTA関数を使えば出来ます。この時、E2が空欄の時は、全てカウントするものとします。
=DCOUNTA(A1:C7,1,D1:F2)
JUGEMテーマ:PC関連
「佐藤,鈴木,林,田中,小林」など、カンマ区切りの名前の中から、林さんだけを数えるには、以下の様にします。
=(LEN(","&I3&",")-LEN(SUBSTITUTE(","&I3&",",",林,","")))/LEN(",林,")
JUGEMテーマ:PC関連
「あいうえお」の文字が1文字づつ順不同であるとします。
全ての文字がA1:A5の範囲にあるか確認するには、以下の様にします。
=IF(AND(COUNTIF(A1:A5,{"あ","い","う","え","お"})=1),"OK","NG")
JUGEMテーマ:PC関連
B列の値が最大値となる行を探しその隣のA列にジャンプするには、以下の様にします。
=HYPERLINK("#A"&MATCH(MAX(B:B),B:B,0),"ジャンプ")
JUGEMテーマ:PC関連
図形を3種類作成し、全てグループ化します。
グループ化された図形の四角形だけを探し、幅を2倍にします。
Sub Sample100()
Dim SN(0 To 2) As String, C As Shape, D As Shape
'四角形を描画します
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 100, 100)
.Fill.ForeColor.RGB = RGB(255, 0, 0)
.Line.ForeColor.RGB = RGB(255, 0, 0)
SN(0) = .Name
End With
'円形を描画します
With ActiveSheet.Shapes.AddShape(msoShapeOval, 20, 20, 70, 70)
.Fill.ForeColor.RGB = RGB(0, 0, 255)
.Line.ForeColor.RGB = RGB(0, 0, 255)
SN(1) = .Name
End With
'月形を描画します
With ActiveSheet.Shapes.AddShape(msoShapeMoon, 70, 70, 50, 50)
.Fill.ForeColor.RGB = RGB(255, 255, 0)
.Line.ForeColor.RGB = RGB(255, 255, 0)
SN(2) = .Name
End With
'四角形、円形、月形を全てグループ化します
ActiveSheet.Shapes.Range(SN).Group
MsgBox "図形をグループ化しました"
'1秒間待機
Application.Wait Now + TimeValue("00:00:01")
MsgBox "グループ化された図形の四角だけ幅を2倍に伸ばします"
'全ての図形からグループ化された図形の四角形の幅を変更
For Each C In ActiveSheet.Shapes
For Each D In C.GroupItems
If D.AutoShapeType = msoShapeRectangle Then
D.Width = D.Width * 2
End If
Next D
Next C
End Sub
JUGEMテーマ:PC関連
名前の定義で非表示になっている名前を全て消します。
Sub Sample99()
Dim N As Name
For Each N In Names
If N.Visible = False Then
N.Delete
End If
Next N
End Sub
JUGEMテーマ:PC関連
名前の定義で「時刻」という文字が含まれる名前を非表示にし、ユーザーが操作できない様にします。
Sub Sample98()
Dim N As Name
For Each N In Names
If N.Name Like "*時刻*" Then
N.Visible = False
End If
Next N
End Sub