たとえばB列に
J50000
W50000
A50000
のような文字をいれると自動的にC列に
J50000 のように頭文字がJなら JAPAN
W50000 のように頭文字がWなら WORLD
A50000 のように頭文字がAなら AMERICA
と入力されるような表をつくりたいのですが
作り方がよくわかりません。
IF関数とかを使えば可能なのでしょうか?

A 回答 (4件)

C列に



=IF(LEFT(B1)="J","JAPAN",IF(LEFT(B1)="W","WORLD",IF(LEFT(B1)="A","AMERICA","")))

これでバッチリです。

この回答への補足

早速の回答ありがとうございます。
sin119さんの方法であたしの質問の表は出来ることがわかりましたが
もうひとつ質問させていただいてよろしいでしょうか?
B列の文字が入力したものでなく他のシートからのリンク貼付で
参照してる場合はこの数式はつかえないのでしょうか?

補足日時:2001/07/18 16:25
    • good
    • 0
この回答へのお礼

なんかへんな質問してしまいましたが結局出来ました。
ありがとうございました。
これからいろいろ勉強してみたいと思います。

お礼日時:2001/07/23 16:43

こんなのもあります。


=IF(B1="","",CHOOSE(CODE(B1)-64,"AMERICA","","","","","","","","","JAPAN","","","","","","","","","","","","","WORLD","","",""))

もし種類が増えれば、"AMWRICA"の後ろの""が順にB,C,…に対応してます。
    • good
    • 0
この回答へのお礼

いろいろ勉強になりました。
ありがとうございました。

お礼日時:2001/07/23 16:44

B列にJ5000と入力して


C列に下の関数でB列のはじめの1文字目だけ取り出して、
=LEFT(A4)
D列でIFの関数を使い判断すればできると思います。
=IF(B5="J","JAPAN",IF(B5="W","WORLD"))

これで良かったのでしょうか。
    • good
    • 0
この回答へのお礼

いろいろ勉強になりました。
ありがとうございました。

お礼日時:2001/07/23 16:46

例えば、D1から下に向かって、J、W、A・・・、それに対応して、E1から JAPAN、WORLD、AMERICA・・・というような表を作ります。



A1にJ50000ならば
B1に =VLOOKUP(LEFT(A1,1),$D$1:$E$3,2,FALSE) とします。(表が3行の場合です)
    • good
    • 0
この回答へのお礼

いろいろ勉強になりました。
ありがとうございました。

お礼日時:2001/07/23 16:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q(初心者です)VBAでA列がBかつC列がDならE列がF

VBAでA列がBかつC列がDならE列がFという風なマクロを書きたいです。

Sub tesuto()


If Columns("A").Value = "B" And Columns("C").Value = "D" Then
Columns("E") = F
End If

End Sub

などめちゃくちゃにしか分かりません。
勉強もろくにしていない初心者の不躾な質問で申し訳ありませんが、教えていただけますとうれしいです。

Aベストアンサー

こんにちは!

ループさせるのが一番オーソドックスだと思います。
一例です。

Sub Sample1()
Dim i As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") = "B" And Cells(i, "C") = "D" Then
Cells(i, "F") = "E"
End If
Next i
End Sub

※ 1行目~A列最終行までループさせています。m(_ _)m

Qエクセル関数の式を教えてください。 A列(A1~A5206)に同じ名前が2つ以上あったら、同じのF列

エクセル関数の式を教えてください。
A列(A1~A5206)に同じ名前が2つ以上あったら、同じのF列(F1~F5206)に〇をつけたいです。F列にどんな式になりますか?
よろしくお願いします。

Aベストアンサー

こんばんは!

F1セルに
=IF(COUNTIF(A:A,A1)>1,"○","")

としてフィルハンドルでずぃ~~~!っと下へコピーしてみてください。

※ F列の左右どちらかの列(E列かG列)に5206行目まで空白なしに
何らかのデータが入っている場合は
フィルハンドルをダブルクリックするだけでOKです。

※ 「二つ以上」の行すべてに「○」が表示されますが
それで良いのでしょうか?m(_ _)m

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Q【EXCEL】条件付き書式、A列、C列、D列、E列が同じ値の時にB列の背景色を変えたい

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青になると思うのですが実際の結果は画像の通りです。

先の話の通りA列、C列、D列、E列の値が同じ時だけ
B列のセルの背景を青にしたい場合はどうい数式になるのでしょうか?

すいませんが、詳しい方、数式(関数?)で説明できる方よろしくお願い致します。

追記
可能でしたらA列、C列、D列、E列が空白の時はB列の背景色をなしにしたいと思っております。
→A列、C列、D列、E列に値があって、かつ同じ値の場合のみB列の背景を青にしたいです。

お世話になります。

エクセルの条件付き書式の数式の使い方について教えて下さい。
A列、C列、D列、E列の値が同じ時にB列のセルの背景を青に
塗りつぶしたいと思っています。

なので、「数式を使用して、書式設定するセルを決定」、
「次の数式を満たす場合に値を書式設定」で、数式を
「=A1=C1=D1=E1」と入力し、書式、塗りつぶし、青、
を選択して、条件付き書式を設定しました。
すると、、、画像のような結果になります。

私の感覚だと画像でセルの値が「11」~「15」の時だけ
B列が青にな...続きを読む

Aベストアンサー

AND関数を使えば判定ができるのでは?
 =AND(A2<>"",A2=C2,C2=D2,D2=E2)

A列には常に判定する数値が入っているなら「A2<>""」は不要です。

参考サイト
http://www.relief.jp/itnote/archives/003940.php

QA列が空白なら、計算式の入っているB.C・・~列も空白で表示する方法。

A列に対して、B.C・・~列にそれぞれ違った式が入っています。
A列が空白だと、B列#N/A、C列1 ・・・と、それぞれ答えが返ってきます。
今までは、各B、C・・列に「A列が空白の場合は表示しない」設定を「条件付書式」を使ったり「IF(ISERROR・・」の関数を使ったり
無い知恵と知識を振り絞って悪戦苦闘の末、1列1列・・こつこつ設定していたのですが
「もっと簡単な方法があるのでは??」と都合のいいことを考えました。

しかし、恥ずかしながら私には知識が無いもので、そんな事が出来るのか、また仮に出来るとしても方法がわかりません。
関数でも、条件付書式でも、何でもかまいません。
指定したセルが空白の場合、そのセルに対して数式が入っている他の複数セルにも何も表示しないように一発で出来るようにするには、
どうすればいいのか教えて頂けませんか?
98です。出来るだけ簡単な方法がありがたいです。
余談なのかもしれませんが、B列にはVLOOKUPの関数、C列には「A列内の数字+1」と言う式が入っています。
C列はA列に0と入力しても、空白でも1という答えが返ってきてしまいます。そこでA列が空白の場合答えが表示されないようにしたいのです。)
宜しくお願いします。

A列に対して、B.C・・~列にそれぞれ違った式が入っています。
A列が空白だと、B列#N/A、C列1 ・・・と、それぞれ答えが返ってきます。
今までは、各B、C・・列に「A列が空白の場合は表示しない」設定を「条件付書式」を使ったり「IF(ISERROR・・」の関数を使ったり
無い知恵と知識を振り絞って悪戦苦闘の末、1列1列・・こつこつ設定していたのですが
「もっと簡単な方法があるのでは??」と都合のいいことを考えました。

しかし、恥ずかしながら私には知識が無いもので、そんな事が出来るのか、また仮...続きを読む

Aベストアンサー

ご質問の「もっと簡単??」、「一発で出来る」という事と解釈して回答しますので、相違していれば読み捨て下さい。
(1)対象範囲を選択
(2)選択された状態で数式を入力、完了時にctrl+enterキー同時に押下して下さい。
   一例ですが以下のようになります。
   =IF(セル<>"",VLOOKUPやセル+1の数式,"")
   セルが""(空白)でなければ数式を実行、空白ならば空白を設定。
為参考.B列はVLOOKUP関数の為、検索値が見つからない場合は#N/Aが戻りますので、IF(COUNTIF(検索範囲,A1),VLOOKUP数式,"")とする方法もあります。


このカテゴリの人気Q&Aランキング

おすすめ情報