ちくのう症(蓄膿症)は「菌」が原因!?

教えてください。
B1に特定の文字列を入力した際、必要であれば◯を、空白であれば×を、その他であれば△をそれぞれA1に返したいです。
特定の文字列は6つで、その中のいずれかが含まれていれば◯を返したく、その他は文字通りその他1つです。

if(countif〜でやろうとしたのですが、どうしても複数条件を反映できず。。

以下のようなイメージです。

※B1に文字入力
A1 B1
◯ 00.解答
×
×
◯ 05.回答
×
△ 07.その他
◯ 03.解凍

どなたか教えて下さい!お願いします。

A 回答 (3件)

お書きになっている表から想像すると、00~06のコードのものが◯で、07が△で、空白が×のようですがそれ以外の文字列は入るのですか?


でなければ結局は3択ということだと思いますが。
    • good
    • 0

自分なら、条件として


まず、リストを作り、
 「リストの中に対象がある」
とします。
さあ、MATCH関数の出番です。

 =MATCH(B1,D1:D10,0)

MATCH関数がエラーにならなければリストの中に対象があったと判断できますね。
という事で、IFERROR関数が出番を待っています。

 =IFERROR(MATCH(B1,D1:D10,0),"")

IF関数とCOUNTIF関数には退場してもらいましょう。


※MATCH関数の使い方とIFERROR関数の使い方を確認したうえで使うようにしましょう。


・・・
ええと、この回答ではD1セルからD10セルにかけてリストを作成したと仮定しています。
もしもB列に入力された「一部の文字列」を検索対象としたいのであれば、もう一工夫が必要です。
    • good
    • 0
この回答へのお礼

あなたに会えてよかった

ありがとうございます、作業が明日になってしまうのですが、頂いた回答でいけそうな気配が凄くします!出来たらまたお礼します!

お礼日時:2017/09/19 22:23

B1を参照するIF関数で良いと思います。


「特定の文字列6つのいずれかで◯」は、orで指定すればよいです。

例、
A1=IF( B1=OR(字列6つ),"◯",
    IF( B1=” ”,"×","△")
   )
    • good
    • 0
この回答へのお礼

あなたに会えてよかった

ありがとうございます!こんな簡単にいけるのですか??と思いつつ、明日やってみるので出来たら凄いですありがとうございます!

お礼日時:2017/09/19 22:24

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

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

QExcel関数で、文字を数字に変換させたいです。 if関数で、数字を文字で表示させることは出来ますが

Excel関数で、文字を数字に変換させたいです。
if関数で、数字を文字で表示させることは出来ますが、その逆はできるのでしょうか?
また、その列を数字の合計で出すことはできますか?

Aベストアンサー

>>例えば、非を1、定を0として表示させることはできますか?

=IF(A1="非",1,IF(A1="定",0,""))

QMSの“小さな親切、余計なお世話”

Excel 2013 を使用しています。
添付図上段において、セル F1 に(赤矢印の先に)何やら表示されているアイコン、セル内に入力された文字列を隠しています。其処にマウスポインタを乗せると[挿入オプション]と表示され、当該アイコンの右端に現れたナビスコマークをクリックすると、添付図下段に示すメニューが。

この邪魔臭いアイコンを隠す(永久に表示されなくする)ための設定手順を教えてください。
ちなみに、このアイコンはどういう場合に表示されるようになっているのでしょうか?

Aベストアンサー

2016のオプション画像で申し訳ない。

「コンテンツを貼り付けるときに[貼り付けオプション]ボタンを表示する」
このチェックを外す。

Qエクセルで、西暦 1900年以前の年月日も含めて、年月日で並べ替えしたいのですが、いい方法は

エクセルで、西暦 1900年以降は年月日で並べ替えができるのですが、1900年以前の年月日も含めると、文字になっているので、並べ替えができなくなります。いい方法はありませんか。
宜しくお願い致します。

Aベストアンサー

>「セルの書式設定F]- 「表示形式」 - 「文字列」

この操作ではデータ自体は文字列にはなりません。
大体、日付データがシリアル値になると思うんですけどね。

作業列を作ってTEXT関数で日付データは文字列になるようにしておけば並べ替えできますよ。

Qエクセルで見えないが、何かがまだは言っているのを取りのぞくにはどうすればいい。

教えてください。

エクセルのA1に「〇○錠 1.5錠」、A2に「〇○錠 3錠」としてある場合。
「〇○錠     」とだけするために、1.5錠を「””」、3錠を「""」として変換して
一応消されはするのですが、ピポットテーブルにのせると同じものと認識しないが、
これにはなにか残っているようなのですが・・。これを消して同じものとして
認識するためにはどうすればいいか。クリーン関数などというのもあるようだが、使い方が
わからない。

Aベストアンサー

>1.5錠を「””」、3錠を「""」として変換して

これ、どうやったんですか?数式?
置換機能?
◯◯錠の後ろにスペースが残っているのでは?

=CLEAN(TRIM(A1))

とかで、一度にやってしまったら如何でしょうか?

Qエクセルで 異なるデータを含む2つのデータを 1つの表にまとめる方法を教えてください

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       3    バナナ    3
   3  バナナ    4      1  りんご    2
   4  いちご    1      7   もも     3
   5  オレンジ  3      10    キウイ     2
   6  レモン    3     11    ぶどう     2
   7  もも     3     13    大根      1
   8  なし     2
   9  カキ    5
  10  キウイ  2
  11  ぶどう    1
  12   マンゴー   1


上記の2つのデータを以下のようにまとめたいのですが 可能でしょうか?
(ABすべての商品名を出して それぞれの数を表示する)

管理No   商品    仕入れ数      売上数
   1   りんご      3        2
   2   みかん      8      8
    3   ばなな      4        3
   4   いちご      1        0
   5    オレンジ  3        0
   6   レモン      3     0
   7   もも       3     3
   8   なし       2     0
   9   カキ      5     0
   10   キウイ      2      2
   11   ぶどう      1       2
   12   マンゴー    1      0
   13   大根      0      1
      


数字がずれていてすみません。
どうぞよろしくお願いします。

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       ...続きを読む

Aベストアンサー

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() '//この行から//
Dim i As Long, lastRow1 As Long, lastRow2 As Long, lastRow3 As Long
Dim c As Range, r As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("仕入れ")
Set wS2 = Worksheets("売上")
Application.ScreenUpdating = False
With Worksheets("Sheet3") '//←「Sheet3」はまとめるシート名に!"//
lastRow3 = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow3 > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow3, "D")).ClearContents
End If
.Range("E:F").Insert
lastRow1 = wS1.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS1.Cells(1, "A"), wS1.Cells(lastRow1, "A")).Copy .Range("E1")
lastRow2 = wS2.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS2.Cells(2, "A"), wS2.Cells(lastRow2, "A")).Copy .Cells(Rows.Count, "E").End(xlUp).Offset(1)
.Range("E:E").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("F1"), unique:=True
.Range("F:F").Sort key1:=.Range("F1"), order1:=xlAscending, Header:=xlYes
lastRow3 = .Cells(Rows.Count, "F").End(xlUp).Row
Range(.Cells(2, "F"), .Cells(lastRow3, "F")).Copy .Range("A2")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS1.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "B") = c.Offset(, 1)
.Cells(i, "C") = c.Offset(, 2)
End If
Set r = wS2.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
If .Cells(i, "B") = "" Then
.Cells(i, "B") = r.Offset(, 1)
End If
.Cells(i, "D") = r.Offset(, 2)
End If
Next i
.Range("E:F").Delete
.Columns.AutoFit
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub '//この行まで//

※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。

※ コード内の「Sheet3」の部分は実際のシート名に変更してください。m(_ _)m

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → ...続きを読む

Q縦に連続する空白セルをカウントしたい。

週40時間勤務計算のために「縦に連続する空白をカウントしたいです。」

Aベストアンサー

考えた式の戻り値が正しいことを検証するために答となる数値を全部書いてください。
それを何処に表示させるのかもネ!

QExcel 日にち毎の集計方法

集計の仕方を教えて下さい。
Excel 縦A列に全従業員名
横列に1~31日の日にちがあり、
それぞれ出勤日に⚫が付いています。
⚫が付いた日にち毎に出勤者をいっきに確認したいです。
関数もしくはピボットテーブルでの集計の方法を教えて下さい。

Aベストアンサー

フィルタを使ってください。添付の図では●のみをフィルタを使って表示しています。
1日にフィルタを設定し1日の出勤者(氏名1,3,7,10)のみを表示しています。

QExcelで複数行を一括選択したい

VLOOKUPを使用した計算を行いたいのですが、複数行の選択で困っています。
データが2万件あるのでマウスで一番下まで選択するのが大変です…
以下のような選択をする際の、合理的な方法を教えてください。

・データはA列~D列まであるが、実際に選択したい(VLOOKUPで選択したい)データはA1~C20000

Aベストアンサー

Ctrl+Shift+方向キーで、連続したデータの最下端(上端)まで選択できる機能はご存知?

Q【至急】勤務計算のために空白をカウントしたいです。

Aさん場合、M3のセルにC3からL4までの勤務時間を表示させたいです。
午前・午後共に「空白」の場合、8時間
午前又は午後に「半」の場合、4時間
午前又は午後に「休」の場合、カウントしない。または0時間
となるようにしたいです。

お力添えをどうかよろしくお願いします。

Aベストアンサー

こんにちは

読んでいないのか、そのままの回答でないので無視していらっしゃるのかはわかりませんが、No3様の回答がわかり易いのではないかと思います。
後出しで条件が増えたり変わったりするのは、回答者達に嫌われる質問の典型ですが、No3様の考え方ならそのまま応用することが可能ではないでしょうか??

例えば、そのままで記述するなら
=COLUMNS(C3:L4)*8-COUNTIF(C3:L4,"休")*8-COUNTIF(C3:L4,"半")*4-COUNTIF(C3:L4,"早")*3-COUNTIF(C3:L4,"遅")*2
とか。

しかしながら、この方法は単純にセルの数を数えているだけですので、想定していない入力があると結果は必ずしも正しくならない可能性があります。
例えば、同じ日の午前午後に「休」と記入してある場合 などなど…

このような可能性をチェックして解釈しなおす関数式も作成は可能ですが、それぞれの記入されているセルのカウントをSUMPRODUCTや配列数式などを利用することになると思いますので、全体の式は相当に長くなります。
時間があれば、「SUMPRODUCT、 配列数式」といったあたりを研究してみてください。

こんにちは

読んでいないのか、そのままの回答でないので無視していらっしゃるのかはわかりませんが、No3様の回答がわかり易いのではないかと思います。
後出しで条件が増えたり変わったりするのは、回答者達に嫌われる質問の典型ですが、No3様の考え方ならそのまま応用することが可能ではないでしょうか??

例えば、そのままで記述するなら
=COLUMNS(C3:L4)*8-COUNTIF(C3:L4,"休")*8-COUNTIF(C3:L4,"半")*4-COUNTIF(C3:L4,"早")*3-COUNTIF(C3:L4,"遅")*2
とか。

しかしながら、この方法は単純にセルの数を数...続きを読む

QExcel 一括並べ替えについて

A30からY47の範囲で一括並べ替えをしたいのですが
マクロを組めば画像(矢印下の図表)のように並び替える事は可能でしょうか?

毎回コピーペーストでやっていますが、流石に時間ばかり掛かってしんどいです。

マクロや関数などの知識はありません。

知識が必要でしたら、学習用のサイトなども併せてご紹介をお願いします。



※画像が小さくてわかりにくいかもしれませんがどうぞよろしくお願い致します。

Aベストアンサー

No7です。補足了解しました。
以下のマクロを標準モジュールに登録してください。
-----------------------------------------------
Option Explicit
Public Sub 並べ替え()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim row1 As Long
Dim col1 As Long
Dim row2 As Long
Dim col2 As Long
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
sh2.Columns("Z").Clear
row2 = 1
For row1 = 30 To 47
For col1 = 1 To 25
sh2.Cells(row2, "Z").Value = sh1.Cells(row1, col1).Value
row2 = row2 + 1
Next
Next
Call sh2.Range("Z1:Z" & row2 - 1).Sort(Key1:=sh2.Range("Z1"), Header:=xlNo)
row2 = 1
For row1 = 30 To 47
For col1 = 1 To 25
sh2.Cells(row1, col1).Value = sh2.Cells(row2, "Z").Value
row2 = row2 + 1
Next
Next
sh2.Columns("Z").Clear
MsgBox ("完了")
End Sub
------------------------------------------------------------------------

No7です。補足了解しました。
以下のマクロを標準モジュールに登録してください。
-----------------------------------------------
Option Explicit
Public Sub 並べ替え()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim row1 As Long
Dim col1 As Long
Dim row2 As Long
Dim col2 As Long
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
sh2.Columns("Z").Clear
row2 = 1
For row1 = 30 To 47
For col1 = 1 To 25
sh2.Cel...続きを読む


人気Q&Aランキング